First NIT release and new clean mercurial repository
[nit.git] / c_src / parser._sep.c
1 #include "parser._sep.h"
2 val_t parser___State___state(val_t self) {
3 struct trace_t trace = {NULL, "parser::State::state (src/parser//parser.nit:10,2--11:35)"};
4 trace.prev = tracehead; tracehead = &trace;
5 tracehead = trace.prev;
6 return ATTR_parser___State____state( self) /*State::_state*/;
7 }
8 void parser___State___state__eq(val_t self, val_t param0) {
9 struct trace_t trace = {NULL, "parser::State::state= (src/parser//parser.nit:10,2--11:35)"};
10 trace.prev = tracehead; tracehead = &trace;
11 ATTR_parser___State____state( self) /*State::_state*/ = param0;
12 tracehead = trace.prev;
13 return;
14 }
15 val_t parser___State___nodes(val_t self) {
16 struct trace_t trace = {NULL, "parser::State::nodes (src/parser//parser.nit:13,2--14:38)"};
17 trace.prev = tracehead; tracehead = &trace;
18 tracehead = trace.prev;
19 return ATTR_parser___State____nodes( self) /*State::_nodes*/;
20 }
21 void parser___State___nodes__eq(val_t self, val_t param0) {
22 struct trace_t trace = {NULL, "parser::State::nodes= (src/parser//parser.nit:13,2--14:38)"};
23 trace.prev = tracehead; tracehead = &trace;
24 ATTR_parser___State____nodes( self) /*State::_nodes*/ = param0;
25 tracehead = trace.prev;
26 return;
27 }
28 void parser___State___init(val_t self, val_t param0, val_t param1, int* init_table) {
29 struct trace_t trace = {NULL, "parser::State::init (src/parser//parser.nit:16,2--19:16)"};
30 val_t variable0;
31 val_t variable1;
32 trace.prev = tracehead; tracehead = &trace;
33 variable0 = param0;
34 variable1 = param1;
35 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_State].i]) return;
36 ATTR_parser___State____state( self) /*State::_state*/ = variable0 /*state*/;
37 ATTR_parser___State____nodes( self) /*State::_nodes*/ = variable1 /*nodes*/;
38 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_State].i] = 1;
39 tracehead = trace.prev;
40 return;
41 }
42 void parser___Parser___init(val_t self, val_t param0, int* init_table) {
43 struct trace_t trace = {NULL, "parser::Parser::init (src/parser//parser.nit:33,2--41:20)"};
44 val_t variable0;
45 val_t variable1;
46 trace.prev = tracehead; tracehead = &trace;
47 variable0 = param0;
48 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Parser].i]) return;
49 ATTR_parser___Parser____lexer( self) /*Parser::_lexer*/ = variable0 /*lexer*/;
50 variable1 = NEW_array___Array___init(); /*new Array[State]*/
51 ATTR_parser___Parser____stack( self) /*Parser::_stack*/ = variable1;
52 variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1)));
53 ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/ = variable1;
54 ((parser_tables___Parser___build_goto_table_t)CALL( self,COLOR_parser_tables___Parser___build_goto_table))( self) /*Parser::build_goto_table*/;
55 ((parser_tables___Parser___build_action_table_t)CALL( self,COLOR_parser_tables___Parser___build_action_table))( self) /*Parser::build_action_table*/;
56 ((parser___Parser___build_reduce_table_t)CALL( self,COLOR_parser___Parser___build_reduce_table))( self) /*Parser::build_reduce_table*/;
57 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Parser].i] = 1;
58 tracehead = trace.prev;
59 return;
60 }
61 val_t parser___Parser___go_to(val_t self, val_t param0) {
62 struct trace_t trace = {NULL, "parser::Parser::go_to (src/parser//parser.nit:44,2--65:16)"};
63 val_t variable0;
64 val_t variable1;
65 val_t variable2;
66 val_t variable3;
67 val_t variable4;
68 val_t variable5;
69 val_t variable6;
70 val_t variable7;
71 val_t variable8;
72 val_t variable9;
73 val_t variable10;
74 trace.prev = tracehead; tracehead = &trace;
75 variable0 = param0;
76 variable2 = ((parser___Parser___state_t)CALL( self,COLOR_parser___Parser___state))( self) /*Parser::state*/;
77 variable1 = variable2;
78 variable3 = ATTR_parser_tables___Parser____goto_table( self) /*Parser::_goto_table*/;
79 variable4 = variable0 /*index*/;
80 variable5 = TAG_Bool(UNTAG_Int( variable4 /*index*/)>=UNTAG_Int( TAG_Int(0)));
81 variable6 = variable5;
82 if (UNTAG_Bool(variable6)) { /* and */
83 variable6 = variable3;
84 variable6 = ATTR_array___AbstractArray____length(variable6) /*Array::_length*/;
85 variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
86 }
87 variable5 = variable6;
88 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
89 variable5 = variable3;
90 variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
91 variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
92 goto return_label3;
93 return_label3: while(false);
94 variable3 = variable5;
95 variable2 = variable3;
96 variable3 = TAG_Int(1);
97 variable5 = ((array___AbstractArray___length_t)CALL( variable2 /*table*/,COLOR_abstract_collection___Collection___length))( variable2 /*table*/) /*Array::length*/;
98 variable5 = TAG_Int(UNTAG_Int(variable5)/UNTAG_Int( TAG_Int(2)));
99 variable5 = TAG_Int(UNTAG_Int(variable5)-UNTAG_Int( TAG_Int(1)));
100 variable4 = variable5;
101 while (true) { /*while*/
102 variable5 = TAG_Bool(UNTAG_Int( variable3 /*low*/)<=UNTAG_Int( variable4 /*high*/));
103 if (!UNTAG_Bool(variable5)) break; /* while*/
104 variable6 = TAG_Int(UNTAG_Int( variable3 /*low*/)+UNTAG_Int( variable4 /*high*/));
105 variable6 = TAG_Int(UNTAG_Int(variable6)/UNTAG_Int( TAG_Int(2)));
106 variable5 = variable6;
107 variable7 = TAG_Int(UNTAG_Int( variable5 /*middle*/)*UNTAG_Int( TAG_Int(2)));
108 variable6 = variable7;
109 variable7 = variable6 /*subindex*/;
110 variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
111 variable9 = variable8;
112 if (UNTAG_Bool(variable9)) { /* and */
113 variable9 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*Array::_length*/;
114 variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
115 }
116 variable8 = variable9;
117 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
118 variable8 = ATTR_array___Array____items( variable2 /*table*/) /*Array::_items*/;
119 variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
120 goto return_label5;
121 return_label5: while(false);
122 variable7 = variable8;
123 variable7 = TAG_Bool(UNTAG_Int( variable1 /*state*/)<UNTAG_Int(variable7));
124 if (UNTAG_Bool(variable7)) { /*if*/
125 variable7 = TAG_Int(UNTAG_Int( variable5 /*middle*/)-UNTAG_Int( TAG_Int(1)));
126 variable4 = variable7 /*high=*/;
127 } else { /*if*/
128 variable7 = variable6 /*subindex*/;
129 variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
130 variable9 = variable8;
131 if (UNTAG_Bool(variable9)) { /* and */
132 variable9 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*Array::_length*/;
133 variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
134 }
135 variable8 = variable9;
136 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
137 variable8 = ATTR_array___Array____items( variable2 /*table*/) /*Array::_items*/;
138 variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
139 goto return_label6;
140 return_label6: while(false);
141 variable7 = variable8;
142 variable7 = TAG_Bool(UNTAG_Int( variable1 /*state*/)>UNTAG_Int(variable7));
143 if (UNTAG_Bool(variable7)) { /*if*/
144 variable7 = TAG_Int(UNTAG_Int( variable5 /*middle*/)+UNTAG_Int( TAG_Int(1)));
145 variable3 = variable7 /*low=*/;
146 } else { /*if*/
147 variable7 = TAG_Int(UNTAG_Int( variable6 /*subindex*/)+UNTAG_Int( TAG_Int(1)));
148 variable8 = variable7;
149 variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
150 variable10 = variable9;
151 if (UNTAG_Bool(variable10)) { /* and */
152 variable10 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*Array::_length*/;
153 variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
154 }
155 variable9 = variable10;
156 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
157 variable9 = ATTR_array___Array____items( variable2 /*table*/) /*Array::_items*/;
158 variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
159 goto return_label7;
160 return_label7: while(false);
161 variable7 = variable9;
162 variable1 = variable7;
163 goto return_label2;
164 }
165 }
166 continue_4: while(0);
167 }
168 break_4: while(0);
169 variable5 = TAG_Int(1);
170 variable6 = TAG_Bool(UNTAG_Int( variable5 /*index*/)>=UNTAG_Int( TAG_Int(0)));
171 variable7 = variable6;
172 if (UNTAG_Bool(variable7)) { /* and */
173 variable7 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*Array::_length*/;
174 variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
175 }
176 variable6 = variable7;
177 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
178 variable6 = ATTR_array___Array____items( variable2 /*table*/) /*Array::_items*/;
179 variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
180 goto return_label8;
181 return_label8: while(false);
182 variable5 = variable6;
183 variable1 = variable5;
184 goto return_label2;
185 return_label2: while(false);
186 tracehead = trace.prev;
187 return variable1;
188 }
189 void parser___Parser___push(val_t self, val_t param0, val_t param1) {
190 struct trace_t trace = {NULL, "parser::Parser::push (src/parser//parser.nit:68,2--78:44)"};
191 val_t variable0;
192 val_t variable1;
193 val_t variable2;
194 val_t variable3;
195 val_t variable4;
196 val_t variable5;
197 val_t variable6;
198 val_t variable7;
199 trace.prev = tracehead; tracehead = &trace;
200 variable0 = param0;
201 variable1 = param1;
202 variable3 = ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/;
203 variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1)));
204 variable2 = variable3;
205 ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/ = variable2 /*pos*/;
206 variable3 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
207 variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*Array::length*/;
208 variable3 = TAG_Bool(UNTAG_Int( variable2 /*pos*/)<UNTAG_Int(variable3));
209 if (UNTAG_Bool(variable3)) { /*if*/
210 variable4 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
211 variable5 = variable2 /*pos*/;
212 variable6 = TAG_Bool(UNTAG_Int( variable5 /*index*/)>=UNTAG_Int( TAG_Int(0)));
213 variable7 = variable6;
214 if (UNTAG_Bool(variable7)) { /* and */
215 variable7 = variable4;
216 variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/;
217 variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
218 }
219 variable6 = variable7;
220 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
221 variable6 = variable4;
222 variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
223 variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
224 goto return_label10;
225 return_label10: while(false);
226 variable4 = variable6;
227 variable3 = variable4;
228 ((parser___State___state__eq_t)CALL( variable3 /*state*/,COLOR_parser___State___state__eq))( variable3 /*state*/, variable0 /*numstate*/) /*State::state=*/;
229 ((parser___State___nodes__eq_t)CALL( variable3 /*state*/,COLOR_parser___State___nodes__eq))( variable3 /*state*/, variable1 /*list_node*/) /*State::nodes=*/;
230 } else { /*if*/
231 variable3 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
232 variable4 = NEW_parser___State___init( variable0 /*numstate*/, variable1 /*list_node*/); /*new State*/
233 ((array___AbstractArray___push_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___push))(variable3, variable4) /*Array::push*/;
234 }
235 tracehead = trace.prev;
236 return;
237 }
238 val_t parser___Parser___state(val_t self) {
239 struct trace_t trace = {NULL, "parser::Parser::state (src/parser//parser.nit:82,2--85:33)"};
240 val_t variable0;
241 val_t variable1;
242 val_t variable2;
243 val_t variable3;
244 val_t variable4;
245 trace.prev = tracehead; tracehead = &trace;
246 variable0 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
247 variable1 = ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/;
248 variable2 = variable1;
249 variable3 = TAG_Bool(UNTAG_Int( variable2 /*index*/)>=UNTAG_Int( TAG_Int(0)));
250 variable4 = variable3;
251 if (UNTAG_Bool(variable4)) { /* and */
252 variable4 = variable0;
253 variable4 = ATTR_array___AbstractArray____length(variable4) /*Array::_length*/;
254 variable4 = TAG_Bool(UNTAG_Int( variable2 /*index*/)<UNTAG_Int(variable4));
255 }
256 variable3 = variable4;
257 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
258 variable3 = variable0;
259 variable3 = ATTR_array___Array____items(variable3) /*Array::_items*/;
260 variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
261 goto return_label12;
262 return_label12: while(false);
263 variable0 = variable3;
264 variable0 = ((parser___State___state_t)CALL(variable0,COLOR_parser___State___state))(variable0) /*State::state*/;
265 goto return_label11;
266 return_label11: while(false);
267 tracehead = trace.prev;
268 return variable0;
269 }
270 val_t parser___Parser___pop(val_t self) {
271 struct trace_t trace = {NULL, "parser::Parser::pop (src/parser//parser.nit:88,2--93:12)"};
272 val_t variable0;
273 val_t variable1;
274 val_t variable2;
275 val_t variable3;
276 val_t variable4;
277 val_t variable5;
278 trace.prev = tracehead; tracehead = &trace;
279 variable1 = ATTR_parser___Parser____stack( self) /*Parser::_stack*/;
280 variable2 = ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/;
281 variable3 = variable2;
282 variable4 = TAG_Bool(UNTAG_Int( variable3 /*index*/)>=UNTAG_Int( TAG_Int(0)));
283 variable5 = variable4;
284 if (UNTAG_Bool(variable5)) { /* and */
285 variable5 = variable1;
286 variable5 = ATTR_array___AbstractArray____length(variable5) /*Array::_length*/;
287 variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
288 }
289 variable4 = variable5;
290 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
291 variable4 = variable1;
292 variable4 = ATTR_array___Array____items(variable4) /*Array::_items*/;
293 variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
294 goto return_label14;
295 return_label14: while(false);
296 variable1 = variable4;
297 variable1 = ((parser___State___nodes_t)CALL(variable1,COLOR_parser___State___nodes))(variable1) /*State::nodes*/;
298 variable0 = variable1;
299 variable1 = ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/;
300 variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
301 ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/ = variable1;
302 variable0 = variable0 /*res*/;
303 goto return_label13;
304 return_label13: while(false);
305 tracehead = trace.prev;
306 return variable0;
307 }
308 val_t parser___Parser___parse(val_t self) {
309 struct trace_t trace = {NULL, "parser::Parser::parse (src/parser//parser.nit:96,2--154:13)"};
310 val_t variable0;
311 val_t variable1;
312 val_t variable2;
313 val_t variable3;
314 val_t variable4;
315 val_t variable5;
316 val_t variable6;
317 val_t variable7;
318 val_t variable8;
319 val_t variable9;
320 val_t variable10;
321 val_t variable11;
322 val_t variable12;
323 val_t variable13;
324 val_t variable14;
325 val_t variable15;
326 val_t variable16;
327 val_t variable17;
328 trace.prev = tracehead; tracehead = &trace;
329 ((parser___Parser___push_t)CALL( self,COLOR_parser___Parser___push))( self, TAG_Int(0), NIT_NULL /*null*/) /*Parser::push*/;
330 variable0 = NIT_NULL /*null*/;
331 variable2 = ATTR_parser___Parser____lexer( self) /*Parser::_lexer*/;
332 variable1 = variable2;
333 while (true) { /*while*/
334 if (!UNTAG_Bool( TAG_Bool(true))) break; /* while*/
335 variable3 = ((lexer___Lexer___peek_t)CALL( variable1 /*lexer*/,COLOR_lexer___Lexer___peek))( variable1 /*lexer*/) /*Lexer::peek*/;
336 variable2 = variable3;
337 variable4 = ((lexer___Token___pos_t)CALL( variable2 /*token*/,COLOR_lexer___Token___pos))( variable2 /*token*/) /*Token::pos*/;
338 variable3 = variable4;
339 variable5 = ((lexer___Token___line_t)CALL( variable2 /*token*/,COLOR_lexer___Token___line))( variable2 /*token*/) /*Token::line*/;
340 variable4 = variable5;
341 variable5 = TAG_Bool(( variable2 /*token*/==NIT_NULL) || VAL_ISA( variable2 /*token*/, COLOR_PError, ID_PError)) /*cast PError*/;
342 if (UNTAG_Bool(variable5)) { /*if*/
343 variable5 = TAG_Bool(( variable2 /*token*/==NIT_NULL) || VAL_ISA( variable2 /*token*/, COLOR_PError, ID_PError)) /*cast PError*/;
344 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:109,5--27\n"); nit_exit(1);}
345 variable5 = NEW_parser_prod___Start___init( NIT_NULL /*null*/, variable2 /*token*/); /*new Start*/
346 variable0 = variable5;
347 goto return_label15;
348 }
349 variable6 = ((lexer___Token___parser_index_t)CALL( variable2 /*token*/,COLOR_lexer___Token___parser_index))( variable2 /*token*/) /*Token::parser_index*/;
350 variable5 = variable6;
351 variable7 = ATTR_parser_tables___Parser____action_table( self) /*Parser::_action_table*/;
352 variable8 = ((parser___Parser___state_t)CALL( self,COLOR_parser___Parser___state))( self) /*Parser::state*/;
353 variable9 = variable8;
354 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
355 variable11 = variable10;
356 if (UNTAG_Bool(variable11)) { /* and */
357 variable11 = variable7;
358 variable11 = ATTR_array___AbstractArray____length(variable11) /*Array::_length*/;
359 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
360 }
361 variable10 = variable11;
362 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
363 variable10 = variable7;
364 variable10 = ATTR_array___Array____items(variable10) /*Array::_items*/;
365 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
366 goto return_label17;
367 return_label17: while(false);
368 variable7 = variable10;
369 variable6 = variable7;
370 variable8 = TAG_Int(1);
371 variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
372 variable10 = variable9;
373 if (UNTAG_Bool(variable10)) { /* and */
374 variable10 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/;
375 variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
376 }
377 variable9 = variable10;
378 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
379 variable9 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
380 variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
381 goto return_label18;
382 return_label18: while(false);
383 variable8 = variable9;
384 variable7 = variable8;
385 variable9 = TAG_Int(2);
386 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
387 variable11 = variable10;
388 if (UNTAG_Bool(variable11)) { /* and */
389 variable11 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/;
390 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
391 }
392 variable10 = variable11;
393 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
394 variable10 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
395 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
396 goto return_label19;
397 return_label19: while(false);
398 variable9 = variable10;
399 variable8 = variable9;
400 variable9 = TAG_Int(1);
401 variable11 = ((array___AbstractArray___length_t)CALL( variable6 /*table*/,COLOR_abstract_collection___Collection___length))( variable6 /*table*/) /*Array::length*/;
402 variable11 = TAG_Int(UNTAG_Int(variable11)/UNTAG_Int( TAG_Int(3)));
403 variable11 = TAG_Int(UNTAG_Int(variable11)-UNTAG_Int( TAG_Int(1)));
404 variable10 = variable11;
405 while (true) { /*while*/
406 variable11 = TAG_Bool(UNTAG_Int( variable9 /*low*/)<=UNTAG_Int( variable10 /*high*/));
407 if (!UNTAG_Bool(variable11)) break; /* while*/
408 variable12 = TAG_Int(UNTAG_Int( variable9 /*low*/)+UNTAG_Int( variable10 /*high*/));
409 variable12 = TAG_Int(UNTAG_Int(variable12)/UNTAG_Int( TAG_Int(2)));
410 variable11 = variable12;
411 variable13 = TAG_Int(UNTAG_Int( variable11 /*middle*/)*UNTAG_Int( TAG_Int(3)));
412 variable12 = variable13;
413 variable13 = variable12 /*subindex*/;
414 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
415 variable15 = variable14;
416 if (UNTAG_Bool(variable15)) { /* and */
417 variable15 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/;
418 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
419 }
420 variable14 = variable15;
421 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
422 variable14 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
423 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
424 goto return_label21;
425 return_label21: while(false);
426 variable13 = variable14;
427 variable13 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable13));
428 if (UNTAG_Bool(variable13)) { /*if*/
429 variable13 = TAG_Int(UNTAG_Int( variable11 /*middle*/)-UNTAG_Int( TAG_Int(1)));
430 variable10 = variable13 /*high=*/;
431 } else { /*if*/
432 variable13 = variable12 /*subindex*/;
433 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
434 variable15 = variable14;
435 if (UNTAG_Bool(variable15)) { /* and */
436 variable15 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/;
437 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
438 }
439 variable14 = variable15;
440 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
441 variable14 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
442 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
443 goto return_label22;
444 return_label22: while(false);
445 variable13 = variable14;
446 variable13 = TAG_Bool(UNTAG_Int( variable5 /*index*/)>UNTAG_Int(variable13));
447 if (UNTAG_Bool(variable13)) { /*if*/
448 variable13 = TAG_Int(UNTAG_Int( variable11 /*middle*/)+UNTAG_Int( TAG_Int(1)));
449 variable9 = variable13 /*low=*/;
450 } else { /*if*/
451 variable13 = TAG_Int(UNTAG_Int( variable12 /*subindex*/)+UNTAG_Int( TAG_Int(1)));
452 variable14 = variable13;
453 variable15 = TAG_Bool(UNTAG_Int( variable14 /*index*/)>=UNTAG_Int( TAG_Int(0)));
454 variable16 = variable15;
455 if (UNTAG_Bool(variable16)) { /* and */
456 variable16 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/;
457 variable16 = TAG_Bool(UNTAG_Int( variable14 /*index*/)<UNTAG_Int(variable16));
458 }
459 variable15 = variable16;
460 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
461 variable15 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
462 variable15 = UNBOX_NativeArray(variable15)[UNTAG_Int( variable14 /*index*/)];
463 goto return_label23;
464 return_label23: while(false);
465 variable13 = variable15;
466 variable7 = variable13 /*action_type=*/;
467 variable13 = TAG_Int(UNTAG_Int( variable12 /*subindex*/)+UNTAG_Int( TAG_Int(2)));
468 variable14 = variable13;
469 variable15 = TAG_Bool(UNTAG_Int( variable14 /*index*/)>=UNTAG_Int( TAG_Int(0)));
470 variable16 = variable15;
471 if (UNTAG_Bool(variable16)) { /* and */
472 variable16 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/;
473 variable16 = TAG_Bool(UNTAG_Int( variable14 /*index*/)<UNTAG_Int(variable16));
474 }
475 variable15 = variable16;
476 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
477 variable15 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/;
478 variable15 = UNBOX_NativeArray(variable15)[UNTAG_Int( variable14 /*index*/)];
479 goto return_label24;
480 return_label24: while(false);
481 variable13 = variable15;
482 variable8 = variable13 /*action_value=*/;
483 variable13 = TAG_Int(UNTAG_Int( variable9 /*low*/)-UNTAG_Int( TAG_Int(1)));
484 variable10 = variable13 /*high=*/;
485 }
486 }
487 continue_20: while(0);
488 }
489 break_20: while(0);
490 variable11 = TAG_Bool(( variable7 /*action_type*/)==( TAG_Int(0)));
491 if (UNTAG_Bool(variable11)) { /*if*/
492 variable11 = ((lexer___Lexer___next_t)CALL( variable1 /*lexer*/,COLOR_lexer___Lexer___next))( variable1 /*lexer*/) /*Lexer::next*/;
493 ((parser___Parser___push_t)CALL( self,COLOR_parser___Parser___push))( self, variable8 /*action_value*/, variable11) /*Parser::push*/;
494 } else { /*if*/
495 variable11 = TAG_Bool(( variable7 /*action_type*/)==( TAG_Int(1)));
496 if (UNTAG_Bool(variable11)) { /*if*/
497 variable11 = ATTR_parser___Parser____reduce_table( self) /*Parser::_reduce_table*/;
498 variable12 = variable8 /*action_value*/;
499 variable13 = TAG_Bool(UNTAG_Int( variable12 /*index*/)>=UNTAG_Int( TAG_Int(0)));
500 variable14 = variable13;
501 if (UNTAG_Bool(variable14)) { /* and */
502 variable14 = variable11;
503 variable14 = ATTR_array___AbstractArray____length(variable14) /*Array::_length*/;
504 variable14 = TAG_Bool(UNTAG_Int( variable12 /*index*/)<UNTAG_Int(variable14));
505 }
506 variable13 = variable14;
507 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
508 variable13 = variable11;
509 variable13 = ATTR_array___Array____items(variable13) /*Array::_items*/;
510 variable13 = UNBOX_NativeArray(variable13)[UNTAG_Int( variable12 /*index*/)];
511 goto return_label25;
512 return_label25: while(false);
513 variable11 = variable13;
514 ((parser___ReduceAction___action_t)CALL(variable11,COLOR_parser___ReduceAction___action))(variable11, self) /*ReduceAction::action*/;
515 } else { /*if*/
516 variable11 = TAG_Bool(( variable7 /*action_type*/)==( TAG_Int(2)));
517 if (UNTAG_Bool(variable11)) { /*if*/
518 variable12 = ((lexer___Lexer___next_t)CALL( variable1 /*lexer*/,COLOR_lexer___Lexer___next))( variable1 /*lexer*/) /*Lexer::next*/;
519 variable11 = variable12;
520 variable12 = TAG_Bool(( variable11 /*node2*/==NIT_NULL) || VAL_ISA( variable11 /*node2*/, COLOR_EOF, ID_EOF)) /*cast EOF*/;
521 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:142,5--24\n"); nit_exit(1);}
522 variable13 = ((parser___Parser___pop_t)CALL( self,COLOR_parser___Parser___pop))( self) /*Parser::pop*/;
523 variable12 = variable13;
524 variable13 = TAG_Bool(( variable12 /*node1*/==NIT_NULL) || VAL_ISA( variable12 /*node1*/, COLOR_PModule, ID_PModule)) /*cast PModule*/;
525 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:144,5--28\n"); nit_exit(1);}
526 variable14 = NEW_parser_prod___Start___init( variable12 /*node1*/, variable11 /*node2*/); /*new Start*/
527 variable13 = variable14;
528 variable14 = NEW_parser___SearchTokensVisitor___init(); /*new SearchTokensVisitor*/
529 ((parser___SearchTokensVisitor___visit_t)CALL(variable14,COLOR_parser_prod___Visitor___visit))(variable14, variable13 /*node*/) /*SearchTokensVisitor::visit*/;
530 variable0 = variable13 /*node*/;
531 goto return_label15;
532 } else { /*if*/
533 variable11 = TAG_Bool(( variable7 /*action_type*/)==( TAG_Int(3)));
534 if (UNTAG_Bool(variable11)) { /*if*/
535 variable12 = ((lexer___Lexer___filename_t)CALL( variable1 /*lexer*/,COLOR_lexer___Lexer___filename))( variable1 /*lexer*/) /*Lexer::filename*/;
536 variable13 = ((parser_tables___Parser___error_messages_t)CALL( self,COLOR_parser_tables___Parser___error_messages))( self) /*Parser::error_messages*/;
537 variable14 = ((parser_tables___Parser___errors_t)CALL( self,COLOR_parser_tables___Parser___errors))( self) /*Parser::errors*/;
538 variable15 = variable8 /*action_value*/;
539 variable16 = TAG_Bool(UNTAG_Int( variable15 /*index*/)>=UNTAG_Int( TAG_Int(0)));
540 variable17 = variable16;
541 if (UNTAG_Bool(variable17)) { /* and */
542 variable17 = variable14;
543 variable17 = ATTR_array___AbstractArray____length(variable17) /*Array::_length*/;
544 variable17 = TAG_Bool(UNTAG_Int( variable15 /*index*/)<UNTAG_Int(variable17));
545 }
546 variable16 = variable17;
547 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
548 variable16 = variable14;
549 variable16 = ATTR_array___Array____items(variable16) /*Array::_items*/;
550 variable16 = UNBOX_NativeArray(variable16)[UNTAG_Int( variable15 /*index*/)];
551 goto return_label26;
552 return_label26: while(false);
553 variable14 = variable16;
554 variable15 = variable14;
555 variable16 = TAG_Bool(UNTAG_Int( variable15 /*index*/)>=UNTAG_Int( TAG_Int(0)));
556 variable17 = variable16;
557 if (UNTAG_Bool(variable17)) { /* and */
558 variable17 = variable13;
559 variable17 = ATTR_array___AbstractArray____length(variable17) /*Array::_length*/;
560 variable17 = TAG_Bool(UNTAG_Int( variable15 /*index*/)<UNTAG_Int(variable17));
561 }
562 variable16 = variable17;
563 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
564 variable16 = variable13;
565 variable16 = ATTR_array___Array____items(variable16) /*Array::_items*/;
566 variable16 = UNBOX_NativeArray(variable16)[UNTAG_Int( variable15 /*index*/)];
567 goto return_label27;
568 return_label27: while(false);
569 variable13 = variable16;
570 variable14 = NEW_lexer___PError___init_error(variable12, variable4 /*last_line*/, variable3 /*last_pos*/, variable13); /*new PError*/
571 variable12 = variable14;
572 variable11 = variable12;
573 variable13 = NEW_parser_prod___Start___init( NIT_NULL /*null*/, variable11 /*node2*/); /*new Start*/
574 variable12 = variable13;
575 variable0 = variable12 /*node*/;
576 goto return_label15;
577 }
578 }
579 }
580 }
581 continue_16: while(0);
582 }
583 break_16: while(0);
584 variable0 = NIT_NULL /*null*/;
585 goto return_label15;
586 return_label15: while(false);
587 tracehead = trace.prev;
588 return variable0;
589 }
590 void parser___Parser___build_reduce_table(val_t self) {
591 struct trace_t trace = {NULL, "parser::Parser::build_reduce_table (src/parser//parser.nit:158,2--729:22)"};
592 val_t variable0;
593 val_t variable1;
594 val_t variable2;
595 val_t variable3;
596 val_t variable4;
597 val_t variable5;
598 val_t variable6;
599 val_t variable7;
600 val_t variable8;
601 val_t variable9;
602 val_t variable10;
603 val_t variable11;
604 val_t variable12;
605 val_t variable13;
606 val_t variable14;
607 val_t variable15;
608 val_t variable16;
609 val_t variable17;
610 val_t variable18;
611 val_t variable19;
612 val_t variable20;
613 val_t variable21;
614 val_t variable22;
615 val_t variable23;
616 val_t variable24;
617 val_t variable25;
618 val_t variable26;
619 val_t variable27;
620 val_t variable28;
621 val_t variable29;
622 val_t variable30;
623 val_t variable31;
624 val_t variable32;
625 val_t variable33;
626 val_t variable34;
627 val_t variable35;
628 val_t variable36;
629 val_t variable37;
630 val_t variable38;
631 val_t variable39;
632 val_t variable40;
633 val_t variable41;
634 val_t variable42;
635 val_t variable43;
636 val_t variable44;
637 val_t variable45;
638 val_t variable46;
639 val_t variable47;
640 val_t variable48;
641 val_t variable49;
642 val_t variable50;
643 val_t variable51;
644 val_t variable52;
645 val_t variable53;
646 val_t variable54;
647 val_t variable55;
648 val_t variable56;
649 val_t variable57;
650 val_t variable58;
651 val_t variable59;
652 val_t variable60;
653 val_t variable61;
654 val_t variable62;
655 val_t variable63;
656 val_t variable64;
657 val_t variable65;
658 val_t variable66;
659 val_t variable67;
660 val_t variable68;
661 val_t variable69;
662 val_t variable70;
663 val_t variable71;
664 val_t variable72;
665 val_t variable73;
666 val_t variable74;
667 val_t variable75;
668 val_t variable76;
669 val_t variable77;
670 val_t variable78;
671 val_t variable79;
672 val_t variable80;
673 val_t variable81;
674 val_t variable82;
675 val_t variable83;
676 val_t variable84;
677 val_t variable85;
678 val_t variable86;
679 val_t variable87;
680 val_t variable88;
681 val_t variable89;
682 val_t variable90;
683 val_t variable91;
684 val_t variable92;
685 val_t variable93;
686 val_t variable94;
687 val_t variable95;
688 val_t variable96;
689 val_t variable97;
690 val_t variable98;
691 val_t variable99;
692 val_t variable100;
693 val_t variable101;
694 val_t variable102;
695 val_t variable103;
696 val_t variable104;
697 val_t variable105;
698 val_t variable106;
699 val_t variable107;
700 val_t variable108;
701 val_t variable109;
702 val_t variable110;
703 val_t variable111;
704 val_t variable112;
705 val_t variable113;
706 val_t variable114;
707 val_t variable115;
708 val_t variable116;
709 val_t variable117;
710 val_t variable118;
711 val_t variable119;
712 val_t variable120;
713 val_t variable121;
714 val_t variable122;
715 val_t variable123;
716 val_t variable124;
717 val_t variable125;
718 val_t variable126;
719 val_t variable127;
720 val_t variable128;
721 val_t variable129;
722 val_t variable130;
723 val_t variable131;
724 val_t variable132;
725 val_t variable133;
726 val_t variable134;
727 val_t variable135;
728 val_t variable136;
729 val_t variable137;
730 val_t variable138;
731 val_t variable139;
732 val_t variable140;
733 val_t variable141;
734 val_t variable142;
735 val_t variable143;
736 val_t variable144;
737 val_t variable145;
738 val_t variable146;
739 val_t variable147;
740 val_t variable148;
741 val_t variable149;
742 val_t variable150;
743 val_t variable151;
744 val_t variable152;
745 val_t variable153;
746 val_t variable154;
747 val_t variable155;
748 val_t variable156;
749 val_t variable157;
750 val_t variable158;
751 val_t variable159;
752 val_t variable160;
753 val_t variable161;
754 val_t variable162;
755 val_t variable163;
756 val_t variable164;
757 val_t variable165;
758 val_t variable166;
759 val_t variable167;
760 val_t variable168;
761 val_t variable169;
762 val_t variable170;
763 val_t variable171;
764 val_t variable172;
765 val_t variable173;
766 val_t variable174;
767 val_t variable175;
768 val_t variable176;
769 val_t variable177;
770 val_t variable178;
771 val_t variable179;
772 val_t variable180;
773 val_t variable181;
774 val_t variable182;
775 val_t variable183;
776 val_t variable184;
777 val_t variable185;
778 val_t variable186;
779 val_t variable187;
780 val_t variable188;
781 val_t variable189;
782 val_t variable190;
783 val_t variable191;
784 val_t variable192;
785 val_t variable193;
786 val_t variable194;
787 val_t variable195;
788 val_t variable196;
789 val_t variable197;
790 val_t variable198;
791 val_t variable199;
792 val_t variable200;
793 val_t variable201;
794 val_t variable202;
795 val_t variable203;
796 val_t variable204;
797 val_t variable205;
798 val_t variable206;
799 val_t variable207;
800 val_t variable208;
801 val_t variable209;
802 val_t variable210;
803 val_t variable211;
804 val_t variable212;
805 val_t variable213;
806 val_t variable214;
807 val_t variable215;
808 val_t variable216;
809 val_t variable217;
810 val_t variable218;
811 val_t variable219;
812 val_t variable220;
813 val_t variable221;
814 val_t variable222;
815 val_t variable223;
816 val_t variable224;
817 val_t variable225;
818 val_t variable226;
819 val_t variable227;
820 val_t variable228;
821 val_t variable229;
822 val_t variable230;
823 val_t variable231;
824 val_t variable232;
825 val_t variable233;
826 val_t variable234;
827 val_t variable235;
828 val_t variable236;
829 val_t variable237;
830 val_t variable238;
831 val_t variable239;
832 val_t variable240;
833 val_t variable241;
834 val_t variable242;
835 val_t variable243;
836 val_t variable244;
837 val_t variable245;
838 val_t variable246;
839 val_t variable247;
840 val_t variable248;
841 val_t variable249;
842 val_t variable250;
843 val_t variable251;
844 val_t variable252;
845 val_t variable253;
846 val_t variable254;
847 val_t variable255;
848 val_t variable256;
849 val_t variable257;
850 val_t variable258;
851 val_t variable259;
852 val_t variable260;
853 val_t variable261;
854 val_t variable262;
855 val_t variable263;
856 val_t variable264;
857 val_t variable265;
858 val_t variable266;
859 val_t variable267;
860 val_t variable268;
861 val_t variable269;
862 val_t variable270;
863 val_t variable271;
864 val_t variable272;
865 val_t variable273;
866 val_t variable274;
867 val_t variable275;
868 val_t variable276;
869 val_t variable277;
870 val_t variable278;
871 val_t variable279;
872 val_t variable280;
873 val_t variable281;
874 val_t variable282;
875 val_t variable283;
876 val_t variable284;
877 val_t variable285;
878 val_t variable286;
879 val_t variable287;
880 val_t variable288;
881 val_t variable289;
882 val_t variable290;
883 val_t variable291;
884 val_t variable292;
885 val_t variable293;
886 val_t variable294;
887 val_t variable295;
888 val_t variable296;
889 val_t variable297;
890 val_t variable298;
891 val_t variable299;
892 val_t variable300;
893 val_t variable301;
894 val_t variable302;
895 val_t variable303;
896 val_t variable304;
897 val_t variable305;
898 val_t variable306;
899 val_t variable307;
900 val_t variable308;
901 val_t variable309;
902 val_t variable310;
903 val_t variable311;
904 val_t variable312;
905 val_t variable313;
906 val_t variable314;
907 val_t variable315;
908 val_t variable316;
909 val_t variable317;
910 val_t variable318;
911 val_t variable319;
912 val_t variable320;
913 val_t variable321;
914 val_t variable322;
915 val_t variable323;
916 val_t variable324;
917 val_t variable325;
918 val_t variable326;
919 val_t variable327;
920 val_t variable328;
921 val_t variable329;
922 val_t variable330;
923 val_t variable331;
924 val_t variable332;
925 val_t variable333;
926 val_t variable334;
927 val_t variable335;
928 val_t variable336;
929 val_t variable337;
930 val_t variable338;
931 val_t variable339;
932 val_t variable340;
933 val_t variable341;
934 val_t variable342;
935 val_t variable343;
936 val_t variable344;
937 val_t variable345;
938 val_t variable346;
939 val_t variable347;
940 val_t variable348;
941 val_t variable349;
942 val_t variable350;
943 val_t variable351;
944 val_t variable352;
945 val_t variable353;
946 val_t variable354;
947 val_t variable355;
948 val_t variable356;
949 val_t variable357;
950 val_t variable358;
951 val_t variable359;
952 val_t variable360;
953 val_t variable361;
954 val_t variable362;
955 val_t variable363;
956 val_t variable364;
957 val_t variable365;
958 val_t variable366;
959 val_t variable367;
960 val_t variable368;
961 val_t variable369;
962 val_t variable370;
963 val_t variable371;
964 val_t variable372;
965 val_t variable373;
966 val_t variable374;
967 val_t variable375;
968 val_t variable376;
969 val_t variable377;
970 val_t variable378;
971 val_t variable379;
972 val_t variable380;
973 val_t variable381;
974 val_t variable382;
975 val_t variable383;
976 val_t variable384;
977 val_t variable385;
978 val_t variable386;
979 val_t variable387;
980 val_t variable388;
981 val_t variable389;
982 val_t variable390;
983 val_t variable391;
984 val_t variable392;
985 val_t variable393;
986 val_t variable394;
987 val_t variable395;
988 val_t variable396;
989 val_t variable397;
990 val_t variable398;
991 val_t variable399;
992 val_t variable400;
993 val_t variable401;
994 val_t variable402;
995 val_t variable403;
996 val_t variable404;
997 val_t variable405;
998 val_t variable406;
999 val_t variable407;
1000 val_t variable408;
1001 val_t variable409;
1002 val_t variable410;
1003 val_t variable411;
1004 val_t variable412;
1005 val_t variable413;
1006 val_t variable414;
1007 val_t variable415;
1008 val_t variable416;
1009 val_t variable417;
1010 val_t variable418;
1011 val_t variable419;
1012 val_t variable420;
1013 val_t variable421;
1014 val_t variable422;
1015 val_t variable423;
1016 val_t variable424;
1017 val_t variable425;
1018 val_t variable426;
1019 val_t variable427;
1020 val_t variable428;
1021 val_t variable429;
1022 val_t variable430;
1023 val_t variable431;
1024 val_t variable432;
1025 val_t variable433;
1026 val_t variable434;
1027 val_t variable435;
1028 val_t variable436;
1029 val_t variable437;
1030 val_t variable438;
1031 val_t variable439;
1032 val_t variable440;
1033 val_t variable441;
1034 val_t variable442;
1035 val_t variable443;
1036 val_t variable444;
1037 val_t variable445;
1038 val_t variable446;
1039 val_t variable447;
1040 val_t variable448;
1041 val_t variable449;
1042 val_t variable450;
1043 val_t variable451;
1044 val_t variable452;
1045 val_t variable453;
1046 val_t variable454;
1047 val_t variable455;
1048 val_t variable456;
1049 val_t variable457;
1050 val_t variable458;
1051 val_t variable459;
1052 val_t variable460;
1053 val_t variable461;
1054 val_t variable462;
1055 val_t variable463;
1056 val_t variable464;
1057 val_t variable465;
1058 val_t variable466;
1059 val_t variable467;
1060 val_t variable468;
1061 val_t variable469;
1062 val_t variable470;
1063 val_t variable471;
1064 val_t variable472;
1065 val_t variable473;
1066 val_t variable474;
1067 val_t variable475;
1068 val_t variable476;
1069 val_t variable477;
1070 val_t variable478;
1071 val_t variable479;
1072 val_t variable480;
1073 val_t variable481;
1074 val_t variable482;
1075 val_t variable483;
1076 val_t variable484;
1077 val_t variable485;
1078 val_t variable486;
1079 val_t variable487;
1080 val_t variable488;
1081 val_t variable489;
1082 val_t variable490;
1083 val_t variable491;
1084 val_t variable492;
1085 val_t variable493;
1086 val_t variable494;
1087 val_t variable495;
1088 val_t variable496;
1089 val_t variable497;
1090 val_t variable498;
1091 val_t variable499;
1092 val_t variable500;
1093 val_t variable501;
1094 val_t variable502;
1095 val_t variable503;
1096 val_t variable504;
1097 val_t variable505;
1098 val_t variable506;
1099 val_t variable507;
1100 val_t variable508;
1101 val_t variable509;
1102 val_t variable510;
1103 val_t variable511;
1104 val_t variable512;
1105 val_t variable513;
1106 val_t variable514;
1107 val_t variable515;
1108 val_t variable516;
1109 val_t variable517;
1110 val_t variable518;
1111 val_t variable519;
1112 val_t variable520;
1113 val_t variable521;
1114 val_t variable522;
1115 val_t variable523;
1116 val_t variable524;
1117 val_t variable525;
1118 val_t variable526;
1119 val_t variable527;
1120 val_t variable528;
1121 val_t variable529;
1122 val_t variable530;
1123 val_t variable531;
1124 val_t variable532;
1125 val_t variable533;
1126 val_t variable534;
1127 val_t variable535;
1128 val_t variable536;
1129 val_t variable537;
1130 val_t variable538;
1131 val_t variable539;
1132 val_t variable540;
1133 val_t variable541;
1134 val_t variable542;
1135 val_t variable543;
1136 val_t variable544;
1137 val_t variable545;
1138 val_t variable546;
1139 val_t variable547;
1140 val_t variable548;
1141 val_t variable549;
1142 val_t variable550;
1143 val_t variable551;
1144 val_t variable552;
1145 val_t variable553;
1146 val_t variable554;
1147 val_t variable555;
1148 val_t variable556;
1149 val_t variable557;
1150 val_t variable558;
1151 val_t variable559;
1152 val_t variable560;
1153 val_t variable561;
1154 val_t variable562;
1155 val_t variable563;
1156 val_t variable564;
1157 val_t variable565;
1158 val_t variable566;
1159 val_t variable567;
1160 val_t variable568;
1161 val_t variable569;
1162 trace.prev = tracehead; tracehead = &trace;
1163 variable0 = NEW_array___Array___with_capacity(TAG_Int(569)); /*new Array[ReduceAction]*/
1164 variable1 = NEW_parser___ReduceAction0___init(); /*new ReduceAction0*/
1165 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/;
1166 variable2 = NEW_parser___ReduceAction1___init(); /*new ReduceAction1*/
1167 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*Array::add*/;
1168 variable3 = NEW_parser___ReduceAction2___init(); /*new ReduceAction2*/
1169 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*Array::add*/;
1170 variable4 = NEW_parser___ReduceAction3___init(); /*new ReduceAction3*/
1171 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable4) /*Array::add*/;
1172 variable5 = NEW_parser___ReduceAction4___init(); /*new ReduceAction4*/
1173 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable5) /*Array::add*/;
1174 variable6 = NEW_parser___ReduceAction5___init(); /*new ReduceAction5*/
1175 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable6) /*Array::add*/;
1176 variable7 = NEW_parser___ReduceAction6___init(); /*new ReduceAction6*/
1177 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable7) /*Array::add*/;
1178 variable8 = NEW_parser___ReduceAction7___init(); /*new ReduceAction7*/
1179 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable8) /*Array::add*/;
1180 variable9 = NEW_parser___ReduceAction8___init(); /*new ReduceAction8*/
1181 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable9) /*Array::add*/;
1182 variable10 = NEW_parser___ReduceAction9___init(); /*new ReduceAction9*/
1183 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable10) /*Array::add*/;
1184 variable11 = NEW_parser___ReduceAction10___init(); /*new ReduceAction10*/
1185 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable11) /*Array::add*/;
1186 variable12 = NEW_parser___ReduceAction11___init(); /*new ReduceAction11*/
1187 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable12) /*Array::add*/;
1188 variable13 = NEW_parser___ReduceAction12___init(); /*new ReduceAction12*/
1189 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable13) /*Array::add*/;
1190 variable14 = NEW_parser___ReduceAction13___init(); /*new ReduceAction13*/
1191 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable14) /*Array::add*/;
1192 variable15 = NEW_parser___ReduceAction14___init(); /*new ReduceAction14*/
1193 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable15) /*Array::add*/;
1194 variable16 = NEW_parser___ReduceAction15___init(); /*new ReduceAction15*/
1195 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable16) /*Array::add*/;
1196 variable17 = NEW_parser___ReduceAction16___init(); /*new ReduceAction16*/
1197 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable17) /*Array::add*/;
1198 variable18 = NEW_parser___ReduceAction17___init(); /*new ReduceAction17*/
1199 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable18) /*Array::add*/;
1200 variable19 = NEW_parser___ReduceAction18___init(); /*new ReduceAction18*/
1201 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable19) /*Array::add*/;
1202 variable20 = NEW_parser___ReduceAction19___init(); /*new ReduceAction19*/
1203 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable20) /*Array::add*/;
1204 variable21 = NEW_parser___ReduceAction20___init(); /*new ReduceAction20*/
1205 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable21) /*Array::add*/;
1206 variable22 = NEW_parser___ReduceAction21___init(); /*new ReduceAction21*/
1207 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable22) /*Array::add*/;
1208 variable23 = NEW_parser___ReduceAction22___init(); /*new ReduceAction22*/
1209 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable23) /*Array::add*/;
1210 variable24 = NEW_parser___ReduceAction23___init(); /*new ReduceAction23*/
1211 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable24) /*Array::add*/;
1212 variable25 = NEW_parser___ReduceAction24___init(); /*new ReduceAction24*/
1213 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable25) /*Array::add*/;
1214 variable26 = NEW_parser___ReduceAction25___init(); /*new ReduceAction25*/
1215 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable26) /*Array::add*/;
1216 variable27 = NEW_parser___ReduceAction26___init(); /*new ReduceAction26*/
1217 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable27) /*Array::add*/;
1218 variable28 = NEW_parser___ReduceAction27___init(); /*new ReduceAction27*/
1219 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable28) /*Array::add*/;
1220 variable29 = NEW_parser___ReduceAction28___init(); /*new ReduceAction28*/
1221 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable29) /*Array::add*/;
1222 variable30 = NEW_parser___ReduceAction29___init(); /*new ReduceAction29*/
1223 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable30) /*Array::add*/;
1224 variable31 = NEW_parser___ReduceAction30___init(); /*new ReduceAction30*/
1225 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable31) /*Array::add*/;
1226 variable32 = NEW_parser___ReduceAction31___init(); /*new ReduceAction31*/
1227 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable32) /*Array::add*/;
1228 variable33 = NEW_parser___ReduceAction32___init(); /*new ReduceAction32*/
1229 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable33) /*Array::add*/;
1230 variable34 = NEW_parser___ReduceAction33___init(); /*new ReduceAction33*/
1231 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable34) /*Array::add*/;
1232 variable35 = NEW_parser___ReduceAction34___init(); /*new ReduceAction34*/
1233 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable35) /*Array::add*/;
1234 variable36 = NEW_parser___ReduceAction35___init(); /*new ReduceAction35*/
1235 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable36) /*Array::add*/;
1236 variable37 = NEW_parser___ReduceAction36___init(); /*new ReduceAction36*/
1237 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable37) /*Array::add*/;
1238 variable38 = NEW_parser___ReduceAction37___init(); /*new ReduceAction37*/
1239 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable38) /*Array::add*/;
1240 variable39 = NEW_parser___ReduceAction38___init(); /*new ReduceAction38*/
1241 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable39) /*Array::add*/;
1242 variable40 = NEW_parser___ReduceAction39___init(); /*new ReduceAction39*/
1243 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable40) /*Array::add*/;
1244 variable41 = NEW_parser___ReduceAction40___init(); /*new ReduceAction40*/
1245 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable41) /*Array::add*/;
1246 variable42 = NEW_parser___ReduceAction41___init(); /*new ReduceAction41*/
1247 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable42) /*Array::add*/;
1248 variable43 = NEW_parser___ReduceAction42___init(); /*new ReduceAction42*/
1249 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable43) /*Array::add*/;
1250 variable44 = NEW_parser___ReduceAction43___init(); /*new ReduceAction43*/
1251 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable44) /*Array::add*/;
1252 variable45 = NEW_parser___ReduceAction44___init(); /*new ReduceAction44*/
1253 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable45) /*Array::add*/;
1254 variable46 = NEW_parser___ReduceAction45___init(); /*new ReduceAction45*/
1255 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable46) /*Array::add*/;
1256 variable47 = NEW_parser___ReduceAction46___init(); /*new ReduceAction46*/
1257 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable47) /*Array::add*/;
1258 variable48 = NEW_parser___ReduceAction47___init(); /*new ReduceAction47*/
1259 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable48) /*Array::add*/;
1260 variable49 = NEW_parser___ReduceAction48___init(); /*new ReduceAction48*/
1261 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable49) /*Array::add*/;
1262 variable50 = NEW_parser___ReduceAction49___init(); /*new ReduceAction49*/
1263 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable50) /*Array::add*/;
1264 variable51 = NEW_parser___ReduceAction50___init(); /*new ReduceAction50*/
1265 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable51) /*Array::add*/;
1266 variable52 = NEW_parser___ReduceAction51___init(); /*new ReduceAction51*/
1267 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable52) /*Array::add*/;
1268 variable53 = NEW_parser___ReduceAction52___init(); /*new ReduceAction52*/
1269 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable53) /*Array::add*/;
1270 variable54 = NEW_parser___ReduceAction53___init(); /*new ReduceAction53*/
1271 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable54) /*Array::add*/;
1272 variable55 = NEW_parser___ReduceAction54___init(); /*new ReduceAction54*/
1273 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable55) /*Array::add*/;
1274 variable56 = NEW_parser___ReduceAction55___init(); /*new ReduceAction55*/
1275 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable56) /*Array::add*/;
1276 variable57 = NEW_parser___ReduceAction56___init(); /*new ReduceAction56*/
1277 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable57) /*Array::add*/;
1278 variable58 = NEW_parser___ReduceAction57___init(); /*new ReduceAction57*/
1279 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable58) /*Array::add*/;
1280 variable59 = NEW_parser___ReduceAction58___init(); /*new ReduceAction58*/
1281 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable59) /*Array::add*/;
1282 variable60 = NEW_parser___ReduceAction59___init(); /*new ReduceAction59*/
1283 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable60) /*Array::add*/;
1284 variable61 = NEW_parser___ReduceAction60___init(); /*new ReduceAction60*/
1285 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable61) /*Array::add*/;
1286 variable62 = NEW_parser___ReduceAction61___init(); /*new ReduceAction61*/
1287 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable62) /*Array::add*/;
1288 variable63 = NEW_parser___ReduceAction62___init(); /*new ReduceAction62*/
1289 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable63) /*Array::add*/;
1290 variable64 = NEW_parser___ReduceAction63___init(); /*new ReduceAction63*/
1291 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable64) /*Array::add*/;
1292 variable65 = NEW_parser___ReduceAction64___init(); /*new ReduceAction64*/
1293 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable65) /*Array::add*/;
1294 variable66 = NEW_parser___ReduceAction65___init(); /*new ReduceAction65*/
1295 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable66) /*Array::add*/;
1296 variable67 = NEW_parser___ReduceAction66___init(); /*new ReduceAction66*/
1297 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable67) /*Array::add*/;
1298 variable68 = NEW_parser___ReduceAction67___init(); /*new ReduceAction67*/
1299 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable68) /*Array::add*/;
1300 variable69 = NEW_parser___ReduceAction68___init(); /*new ReduceAction68*/
1301 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable69) /*Array::add*/;
1302 variable70 = NEW_parser___ReduceAction69___init(); /*new ReduceAction69*/
1303 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable70) /*Array::add*/;
1304 variable71 = NEW_parser___ReduceAction70___init(); /*new ReduceAction70*/
1305 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable71) /*Array::add*/;
1306 variable72 = NEW_parser___ReduceAction71___init(); /*new ReduceAction71*/
1307 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable72) /*Array::add*/;
1308 variable73 = NEW_parser___ReduceAction72___init(); /*new ReduceAction72*/
1309 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable73) /*Array::add*/;
1310 variable74 = NEW_parser___ReduceAction73___init(); /*new ReduceAction73*/
1311 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable74) /*Array::add*/;
1312 variable75 = NEW_parser___ReduceAction74___init(); /*new ReduceAction74*/
1313 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable75) /*Array::add*/;
1314 variable76 = NEW_parser___ReduceAction75___init(); /*new ReduceAction75*/
1315 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable76) /*Array::add*/;
1316 variable77 = NEW_parser___ReduceAction76___init(); /*new ReduceAction76*/
1317 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable77) /*Array::add*/;
1318 variable78 = NEW_parser___ReduceAction77___init(); /*new ReduceAction77*/
1319 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable78) /*Array::add*/;
1320 variable79 = NEW_parser___ReduceAction78___init(); /*new ReduceAction78*/
1321 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable79) /*Array::add*/;
1322 variable80 = NEW_parser___ReduceAction79___init(); /*new ReduceAction79*/
1323 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable80) /*Array::add*/;
1324 variable81 = NEW_parser___ReduceAction80___init(); /*new ReduceAction80*/
1325 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable81) /*Array::add*/;
1326 variable82 = NEW_parser___ReduceAction81___init(); /*new ReduceAction81*/
1327 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable82) /*Array::add*/;
1328 variable83 = NEW_parser___ReduceAction82___init(); /*new ReduceAction82*/
1329 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable83) /*Array::add*/;
1330 variable84 = NEW_parser___ReduceAction83___init(); /*new ReduceAction83*/
1331 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable84) /*Array::add*/;
1332 variable85 = NEW_parser___ReduceAction84___init(); /*new ReduceAction84*/
1333 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable85) /*Array::add*/;
1334 variable86 = NEW_parser___ReduceAction85___init(); /*new ReduceAction85*/
1335 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable86) /*Array::add*/;
1336 variable87 = NEW_parser___ReduceAction86___init(); /*new ReduceAction86*/
1337 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable87) /*Array::add*/;
1338 variable88 = NEW_parser___ReduceAction87___init(); /*new ReduceAction87*/
1339 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable88) /*Array::add*/;
1340 variable89 = NEW_parser___ReduceAction88___init(); /*new ReduceAction88*/
1341 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable89) /*Array::add*/;
1342 variable90 = NEW_parser___ReduceAction89___init(); /*new ReduceAction89*/
1343 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable90) /*Array::add*/;
1344 variable91 = NEW_parser___ReduceAction90___init(); /*new ReduceAction90*/
1345 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable91) /*Array::add*/;
1346 variable92 = NEW_parser___ReduceAction91___init(); /*new ReduceAction91*/
1347 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable92) /*Array::add*/;
1348 variable93 = NEW_parser___ReduceAction92___init(); /*new ReduceAction92*/
1349 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable93) /*Array::add*/;
1350 variable94 = NEW_parser___ReduceAction93___init(); /*new ReduceAction93*/
1351 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable94) /*Array::add*/;
1352 variable95 = NEW_parser___ReduceAction94___init(); /*new ReduceAction94*/
1353 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable95) /*Array::add*/;
1354 variable96 = NEW_parser___ReduceAction95___init(); /*new ReduceAction95*/
1355 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable96) /*Array::add*/;
1356 variable97 = NEW_parser___ReduceAction96___init(); /*new ReduceAction96*/
1357 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable97) /*Array::add*/;
1358 variable98 = NEW_parser___ReduceAction97___init(); /*new ReduceAction97*/
1359 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable98) /*Array::add*/;
1360 variable99 = NEW_parser___ReduceAction98___init(); /*new ReduceAction98*/
1361 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable99) /*Array::add*/;
1362 variable100 = NEW_parser___ReduceAction99___init(); /*new ReduceAction99*/
1363 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable100) /*Array::add*/;
1364 variable101 = NEW_parser___ReduceAction100___init(); /*new ReduceAction100*/
1365 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable101) /*Array::add*/;
1366 variable102 = NEW_parser___ReduceAction101___init(); /*new ReduceAction101*/
1367 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable102) /*Array::add*/;
1368 variable103 = NEW_parser___ReduceAction102___init(); /*new ReduceAction102*/
1369 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable103) /*Array::add*/;
1370 variable104 = NEW_parser___ReduceAction103___init(); /*new ReduceAction103*/
1371 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable104) /*Array::add*/;
1372 variable105 = NEW_parser___ReduceAction104___init(); /*new ReduceAction104*/
1373 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable105) /*Array::add*/;
1374 variable106 = NEW_parser___ReduceAction105___init(); /*new ReduceAction105*/
1375 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable106) /*Array::add*/;
1376 variable107 = NEW_parser___ReduceAction106___init(); /*new ReduceAction106*/
1377 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable107) /*Array::add*/;
1378 variable108 = NEW_parser___ReduceAction107___init(); /*new ReduceAction107*/
1379 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable108) /*Array::add*/;
1380 variable109 = NEW_parser___ReduceAction108___init(); /*new ReduceAction108*/
1381 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable109) /*Array::add*/;
1382 variable110 = NEW_parser___ReduceAction109___init(); /*new ReduceAction109*/
1383 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable110) /*Array::add*/;
1384 variable111 = NEW_parser___ReduceAction110___init(); /*new ReduceAction110*/
1385 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable111) /*Array::add*/;
1386 variable112 = NEW_parser___ReduceAction111___init(); /*new ReduceAction111*/
1387 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable112) /*Array::add*/;
1388 variable113 = NEW_parser___ReduceAction112___init(); /*new ReduceAction112*/
1389 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable113) /*Array::add*/;
1390 variable114 = NEW_parser___ReduceAction113___init(); /*new ReduceAction113*/
1391 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable114) /*Array::add*/;
1392 variable115 = NEW_parser___ReduceAction114___init(); /*new ReduceAction114*/
1393 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable115) /*Array::add*/;
1394 variable116 = NEW_parser___ReduceAction115___init(); /*new ReduceAction115*/
1395 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable116) /*Array::add*/;
1396 variable117 = NEW_parser___ReduceAction116___init(); /*new ReduceAction116*/
1397 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable117) /*Array::add*/;
1398 variable118 = NEW_parser___ReduceAction117___init(); /*new ReduceAction117*/
1399 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable118) /*Array::add*/;
1400 variable119 = NEW_parser___ReduceAction118___init(); /*new ReduceAction118*/
1401 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable119) /*Array::add*/;
1402 variable120 = NEW_parser___ReduceAction119___init(); /*new ReduceAction119*/
1403 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable120) /*Array::add*/;
1404 variable121 = NEW_parser___ReduceAction120___init(); /*new ReduceAction120*/
1405 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable121) /*Array::add*/;
1406 variable122 = NEW_parser___ReduceAction121___init(); /*new ReduceAction121*/
1407 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable122) /*Array::add*/;
1408 variable123 = NEW_parser___ReduceAction122___init(); /*new ReduceAction122*/
1409 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable123) /*Array::add*/;
1410 variable124 = NEW_parser___ReduceAction123___init(); /*new ReduceAction123*/
1411 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable124) /*Array::add*/;
1412 variable125 = NEW_parser___ReduceAction124___init(); /*new ReduceAction124*/
1413 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable125) /*Array::add*/;
1414 variable126 = NEW_parser___ReduceAction125___init(); /*new ReduceAction125*/
1415 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable126) /*Array::add*/;
1416 variable127 = NEW_parser___ReduceAction126___init(); /*new ReduceAction126*/
1417 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable127) /*Array::add*/;
1418 variable128 = NEW_parser___ReduceAction127___init(); /*new ReduceAction127*/
1419 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable128) /*Array::add*/;
1420 variable129 = NEW_parser___ReduceAction128___init(); /*new ReduceAction128*/
1421 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable129) /*Array::add*/;
1422 variable130 = NEW_parser___ReduceAction129___init(); /*new ReduceAction129*/
1423 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable130) /*Array::add*/;
1424 variable131 = NEW_parser___ReduceAction130___init(); /*new ReduceAction130*/
1425 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable131) /*Array::add*/;
1426 variable132 = NEW_parser___ReduceAction131___init(); /*new ReduceAction131*/
1427 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable132) /*Array::add*/;
1428 variable133 = NEW_parser___ReduceAction132___init(); /*new ReduceAction132*/
1429 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable133) /*Array::add*/;
1430 variable134 = NEW_parser___ReduceAction133___init(); /*new ReduceAction133*/
1431 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable134) /*Array::add*/;
1432 variable135 = NEW_parser___ReduceAction134___init(); /*new ReduceAction134*/
1433 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable135) /*Array::add*/;
1434 variable136 = NEW_parser___ReduceAction135___init(); /*new ReduceAction135*/
1435 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable136) /*Array::add*/;
1436 variable137 = NEW_parser___ReduceAction136___init(); /*new ReduceAction136*/
1437 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable137) /*Array::add*/;
1438 variable138 = NEW_parser___ReduceAction137___init(); /*new ReduceAction137*/
1439 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable138) /*Array::add*/;
1440 variable139 = NEW_parser___ReduceAction138___init(); /*new ReduceAction138*/
1441 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable139) /*Array::add*/;
1442 variable140 = NEW_parser___ReduceAction139___init(); /*new ReduceAction139*/
1443 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable140) /*Array::add*/;
1444 variable141 = NEW_parser___ReduceAction140___init(); /*new ReduceAction140*/
1445 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable141) /*Array::add*/;
1446 variable142 = NEW_parser___ReduceAction141___init(); /*new ReduceAction141*/
1447 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable142) /*Array::add*/;
1448 variable143 = NEW_parser___ReduceAction142___init(); /*new ReduceAction142*/
1449 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable143) /*Array::add*/;
1450 variable144 = NEW_parser___ReduceAction143___init(); /*new ReduceAction143*/
1451 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable144) /*Array::add*/;
1452 variable145 = NEW_parser___ReduceAction144___init(); /*new ReduceAction144*/
1453 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable145) /*Array::add*/;
1454 variable146 = NEW_parser___ReduceAction145___init(); /*new ReduceAction145*/
1455 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable146) /*Array::add*/;
1456 variable147 = NEW_parser___ReduceAction146___init(); /*new ReduceAction146*/
1457 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable147) /*Array::add*/;
1458 variable148 = NEW_parser___ReduceAction147___init(); /*new ReduceAction147*/
1459 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable148) /*Array::add*/;
1460 variable149 = NEW_parser___ReduceAction148___init(); /*new ReduceAction148*/
1461 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable149) /*Array::add*/;
1462 variable150 = NEW_parser___ReduceAction149___init(); /*new ReduceAction149*/
1463 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable150) /*Array::add*/;
1464 variable151 = NEW_parser___ReduceAction150___init(); /*new ReduceAction150*/
1465 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable151) /*Array::add*/;
1466 variable152 = NEW_parser___ReduceAction151___init(); /*new ReduceAction151*/
1467 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable152) /*Array::add*/;
1468 variable153 = NEW_parser___ReduceAction152___init(); /*new ReduceAction152*/
1469 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable153) /*Array::add*/;
1470 variable154 = NEW_parser___ReduceAction153___init(); /*new ReduceAction153*/
1471 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable154) /*Array::add*/;
1472 variable155 = NEW_parser___ReduceAction154___init(); /*new ReduceAction154*/
1473 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable155) /*Array::add*/;
1474 variable156 = NEW_parser___ReduceAction155___init(); /*new ReduceAction155*/
1475 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable156) /*Array::add*/;
1476 variable157 = NEW_parser___ReduceAction156___init(); /*new ReduceAction156*/
1477 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable157) /*Array::add*/;
1478 variable158 = NEW_parser___ReduceAction157___init(); /*new ReduceAction157*/
1479 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable158) /*Array::add*/;
1480 variable159 = NEW_parser___ReduceAction158___init(); /*new ReduceAction158*/
1481 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable159) /*Array::add*/;
1482 variable160 = NEW_parser___ReduceAction159___init(); /*new ReduceAction159*/
1483 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable160) /*Array::add*/;
1484 variable161 = NEW_parser___ReduceAction160___init(); /*new ReduceAction160*/
1485 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable161) /*Array::add*/;
1486 variable162 = NEW_parser___ReduceAction161___init(); /*new ReduceAction161*/
1487 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable162) /*Array::add*/;
1488 variable163 = NEW_parser___ReduceAction162___init(); /*new ReduceAction162*/
1489 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable163) /*Array::add*/;
1490 variable164 = NEW_parser___ReduceAction163___init(); /*new ReduceAction163*/
1491 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable164) /*Array::add*/;
1492 variable165 = NEW_parser___ReduceAction164___init(); /*new ReduceAction164*/
1493 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable165) /*Array::add*/;
1494 variable166 = NEW_parser___ReduceAction165___init(); /*new ReduceAction165*/
1495 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable166) /*Array::add*/;
1496 variable167 = NEW_parser___ReduceAction166___init(); /*new ReduceAction166*/
1497 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable167) /*Array::add*/;
1498 variable168 = NEW_parser___ReduceAction167___init(); /*new ReduceAction167*/
1499 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable168) /*Array::add*/;
1500 variable169 = NEW_parser___ReduceAction168___init(); /*new ReduceAction168*/
1501 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable169) /*Array::add*/;
1502 variable170 = NEW_parser___ReduceAction169___init(); /*new ReduceAction169*/
1503 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable170) /*Array::add*/;
1504 variable171 = NEW_parser___ReduceAction170___init(); /*new ReduceAction170*/
1505 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable171) /*Array::add*/;
1506 variable172 = NEW_parser___ReduceAction171___init(); /*new ReduceAction171*/
1507 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable172) /*Array::add*/;
1508 variable173 = NEW_parser___ReduceAction172___init(); /*new ReduceAction172*/
1509 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable173) /*Array::add*/;
1510 variable174 = NEW_parser___ReduceAction173___init(); /*new ReduceAction173*/
1511 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable174) /*Array::add*/;
1512 variable175 = NEW_parser___ReduceAction174___init(); /*new ReduceAction174*/
1513 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable175) /*Array::add*/;
1514 variable176 = NEW_parser___ReduceAction175___init(); /*new ReduceAction175*/
1515 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable176) /*Array::add*/;
1516 variable177 = NEW_parser___ReduceAction176___init(); /*new ReduceAction176*/
1517 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable177) /*Array::add*/;
1518 variable178 = NEW_parser___ReduceAction177___init(); /*new ReduceAction177*/
1519 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable178) /*Array::add*/;
1520 variable179 = NEW_parser___ReduceAction178___init(); /*new ReduceAction178*/
1521 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable179) /*Array::add*/;
1522 variable180 = NEW_parser___ReduceAction179___init(); /*new ReduceAction179*/
1523 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable180) /*Array::add*/;
1524 variable181 = NEW_parser___ReduceAction180___init(); /*new ReduceAction180*/
1525 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable181) /*Array::add*/;
1526 variable182 = NEW_parser___ReduceAction181___init(); /*new ReduceAction181*/
1527 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable182) /*Array::add*/;
1528 variable183 = NEW_parser___ReduceAction182___init(); /*new ReduceAction182*/
1529 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable183) /*Array::add*/;
1530 variable184 = NEW_parser___ReduceAction183___init(); /*new ReduceAction183*/
1531 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable184) /*Array::add*/;
1532 variable185 = NEW_parser___ReduceAction184___init(); /*new ReduceAction184*/
1533 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable185) /*Array::add*/;
1534 variable186 = NEW_parser___ReduceAction185___init(); /*new ReduceAction185*/
1535 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable186) /*Array::add*/;
1536 variable187 = NEW_parser___ReduceAction186___init(); /*new ReduceAction186*/
1537 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable187) /*Array::add*/;
1538 variable188 = NEW_parser___ReduceAction187___init(); /*new ReduceAction187*/
1539 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable188) /*Array::add*/;
1540 variable189 = NEW_parser___ReduceAction188___init(); /*new ReduceAction188*/
1541 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable189) /*Array::add*/;
1542 variable190 = NEW_parser___ReduceAction189___init(); /*new ReduceAction189*/
1543 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable190) /*Array::add*/;
1544 variable191 = NEW_parser___ReduceAction190___init(); /*new ReduceAction190*/
1545 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable191) /*Array::add*/;
1546 variable192 = NEW_parser___ReduceAction191___init(); /*new ReduceAction191*/
1547 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable192) /*Array::add*/;
1548 variable193 = NEW_parser___ReduceAction192___init(); /*new ReduceAction192*/
1549 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable193) /*Array::add*/;
1550 variable194 = NEW_parser___ReduceAction193___init(); /*new ReduceAction193*/
1551 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable194) /*Array::add*/;
1552 variable195 = NEW_parser___ReduceAction194___init(); /*new ReduceAction194*/
1553 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable195) /*Array::add*/;
1554 variable196 = NEW_parser___ReduceAction195___init(); /*new ReduceAction195*/
1555 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable196) /*Array::add*/;
1556 variable197 = NEW_parser___ReduceAction196___init(); /*new ReduceAction196*/
1557 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable197) /*Array::add*/;
1558 variable198 = NEW_parser___ReduceAction197___init(); /*new ReduceAction197*/
1559 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable198) /*Array::add*/;
1560 variable199 = NEW_parser___ReduceAction198___init(); /*new ReduceAction198*/
1561 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable199) /*Array::add*/;
1562 variable200 = NEW_parser___ReduceAction199___init(); /*new ReduceAction199*/
1563 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable200) /*Array::add*/;
1564 variable201 = NEW_parser___ReduceAction200___init(); /*new ReduceAction200*/
1565 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable201) /*Array::add*/;
1566 variable202 = NEW_parser___ReduceAction201___init(); /*new ReduceAction201*/
1567 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable202) /*Array::add*/;
1568 variable203 = NEW_parser___ReduceAction202___init(); /*new ReduceAction202*/
1569 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable203) /*Array::add*/;
1570 variable204 = NEW_parser___ReduceAction203___init(); /*new ReduceAction203*/
1571 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable204) /*Array::add*/;
1572 variable205 = NEW_parser___ReduceAction204___init(); /*new ReduceAction204*/
1573 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable205) /*Array::add*/;
1574 variable206 = NEW_parser___ReduceAction205___init(); /*new ReduceAction205*/
1575 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable206) /*Array::add*/;
1576 variable207 = NEW_parser___ReduceAction206___init(); /*new ReduceAction206*/
1577 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable207) /*Array::add*/;
1578 variable208 = NEW_parser___ReduceAction207___init(); /*new ReduceAction207*/
1579 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable208) /*Array::add*/;
1580 variable209 = NEW_parser___ReduceAction208___init(); /*new ReduceAction208*/
1581 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable209) /*Array::add*/;
1582 variable210 = NEW_parser___ReduceAction209___init(); /*new ReduceAction209*/
1583 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable210) /*Array::add*/;
1584 variable211 = NEW_parser___ReduceAction210___init(); /*new ReduceAction210*/
1585 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable211) /*Array::add*/;
1586 variable212 = NEW_parser___ReduceAction211___init(); /*new ReduceAction211*/
1587 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable212) /*Array::add*/;
1588 variable213 = NEW_parser___ReduceAction212___init(); /*new ReduceAction212*/
1589 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable213) /*Array::add*/;
1590 variable214 = NEW_parser___ReduceAction213___init(); /*new ReduceAction213*/
1591 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable214) /*Array::add*/;
1592 variable215 = NEW_parser___ReduceAction214___init(); /*new ReduceAction214*/
1593 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable215) /*Array::add*/;
1594 variable216 = NEW_parser___ReduceAction215___init(); /*new ReduceAction215*/
1595 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable216) /*Array::add*/;
1596 variable217 = NEW_parser___ReduceAction216___init(); /*new ReduceAction216*/
1597 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable217) /*Array::add*/;
1598 variable218 = NEW_parser___ReduceAction217___init(); /*new ReduceAction217*/
1599 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable218) /*Array::add*/;
1600 variable219 = NEW_parser___ReduceAction218___init(); /*new ReduceAction218*/
1601 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable219) /*Array::add*/;
1602 variable220 = NEW_parser___ReduceAction219___init(); /*new ReduceAction219*/
1603 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable220) /*Array::add*/;
1604 variable221 = NEW_parser___ReduceAction220___init(); /*new ReduceAction220*/
1605 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable221) /*Array::add*/;
1606 variable222 = NEW_parser___ReduceAction221___init(); /*new ReduceAction221*/
1607 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable222) /*Array::add*/;
1608 variable223 = NEW_parser___ReduceAction222___init(); /*new ReduceAction222*/
1609 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable223) /*Array::add*/;
1610 variable224 = NEW_parser___ReduceAction223___init(); /*new ReduceAction223*/
1611 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable224) /*Array::add*/;
1612 variable225 = NEW_parser___ReduceAction224___init(); /*new ReduceAction224*/
1613 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable225) /*Array::add*/;
1614 variable226 = NEW_parser___ReduceAction225___init(); /*new ReduceAction225*/
1615 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable226) /*Array::add*/;
1616 variable227 = NEW_parser___ReduceAction226___init(); /*new ReduceAction226*/
1617 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable227) /*Array::add*/;
1618 variable228 = NEW_parser___ReduceAction227___init(); /*new ReduceAction227*/
1619 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable228) /*Array::add*/;
1620 variable229 = NEW_parser___ReduceAction228___init(); /*new ReduceAction228*/
1621 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable229) /*Array::add*/;
1622 variable230 = NEW_parser___ReduceAction229___init(); /*new ReduceAction229*/
1623 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable230) /*Array::add*/;
1624 variable231 = NEW_parser___ReduceAction230___init(); /*new ReduceAction230*/
1625 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable231) /*Array::add*/;
1626 variable232 = NEW_parser___ReduceAction231___init(); /*new ReduceAction231*/
1627 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable232) /*Array::add*/;
1628 variable233 = NEW_parser___ReduceAction232___init(); /*new ReduceAction232*/
1629 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable233) /*Array::add*/;
1630 variable234 = NEW_parser___ReduceAction233___init(); /*new ReduceAction233*/
1631 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable234) /*Array::add*/;
1632 variable235 = NEW_parser___ReduceAction234___init(); /*new ReduceAction234*/
1633 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable235) /*Array::add*/;
1634 variable236 = NEW_parser___ReduceAction235___init(); /*new ReduceAction235*/
1635 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable236) /*Array::add*/;
1636 variable237 = NEW_parser___ReduceAction236___init(); /*new ReduceAction236*/
1637 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable237) /*Array::add*/;
1638 variable238 = NEW_parser___ReduceAction237___init(); /*new ReduceAction237*/
1639 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable238) /*Array::add*/;
1640 variable239 = NEW_parser___ReduceAction238___init(); /*new ReduceAction238*/
1641 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable239) /*Array::add*/;
1642 variable240 = NEW_parser___ReduceAction239___init(); /*new ReduceAction239*/
1643 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable240) /*Array::add*/;
1644 variable241 = NEW_parser___ReduceAction240___init(); /*new ReduceAction240*/
1645 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable241) /*Array::add*/;
1646 variable242 = NEW_parser___ReduceAction241___init(); /*new ReduceAction241*/
1647 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable242) /*Array::add*/;
1648 variable243 = NEW_parser___ReduceAction242___init(); /*new ReduceAction242*/
1649 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable243) /*Array::add*/;
1650 variable244 = NEW_parser___ReduceAction243___init(); /*new ReduceAction243*/
1651 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable244) /*Array::add*/;
1652 variable245 = NEW_parser___ReduceAction244___init(); /*new ReduceAction244*/
1653 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable245) /*Array::add*/;
1654 variable246 = NEW_parser___ReduceAction245___init(); /*new ReduceAction245*/
1655 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable246) /*Array::add*/;
1656 variable247 = NEW_parser___ReduceAction246___init(); /*new ReduceAction246*/
1657 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable247) /*Array::add*/;
1658 variable248 = NEW_parser___ReduceAction247___init(); /*new ReduceAction247*/
1659 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable248) /*Array::add*/;
1660 variable249 = NEW_parser___ReduceAction248___init(); /*new ReduceAction248*/
1661 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable249) /*Array::add*/;
1662 variable250 = NEW_parser___ReduceAction249___init(); /*new ReduceAction249*/
1663 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable250) /*Array::add*/;
1664 variable251 = NEW_parser___ReduceAction250___init(); /*new ReduceAction250*/
1665 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable251) /*Array::add*/;
1666 variable252 = NEW_parser___ReduceAction251___init(); /*new ReduceAction251*/
1667 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable252) /*Array::add*/;
1668 variable253 = NEW_parser___ReduceAction252___init(); /*new ReduceAction252*/
1669 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable253) /*Array::add*/;
1670 variable254 = NEW_parser___ReduceAction253___init(); /*new ReduceAction253*/
1671 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable254) /*Array::add*/;
1672 variable255 = NEW_parser___ReduceAction254___init(); /*new ReduceAction254*/
1673 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable255) /*Array::add*/;
1674 variable256 = NEW_parser___ReduceAction255___init(); /*new ReduceAction255*/
1675 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable256) /*Array::add*/;
1676 variable257 = NEW_parser___ReduceAction256___init(); /*new ReduceAction256*/
1677 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable257) /*Array::add*/;
1678 variable258 = NEW_parser___ReduceAction257___init(); /*new ReduceAction257*/
1679 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable258) /*Array::add*/;
1680 variable259 = NEW_parser___ReduceAction258___init(); /*new ReduceAction258*/
1681 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable259) /*Array::add*/;
1682 variable260 = NEW_parser___ReduceAction259___init(); /*new ReduceAction259*/
1683 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable260) /*Array::add*/;
1684 variable261 = NEW_parser___ReduceAction260___init(); /*new ReduceAction260*/
1685 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable261) /*Array::add*/;
1686 variable262 = NEW_parser___ReduceAction261___init(); /*new ReduceAction261*/
1687 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable262) /*Array::add*/;
1688 variable263 = NEW_parser___ReduceAction262___init(); /*new ReduceAction262*/
1689 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable263) /*Array::add*/;
1690 variable264 = NEW_parser___ReduceAction263___init(); /*new ReduceAction263*/
1691 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable264) /*Array::add*/;
1692 variable265 = NEW_parser___ReduceAction264___init(); /*new ReduceAction264*/
1693 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable265) /*Array::add*/;
1694 variable266 = NEW_parser___ReduceAction265___init(); /*new ReduceAction265*/
1695 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable266) /*Array::add*/;
1696 variable267 = NEW_parser___ReduceAction266___init(); /*new ReduceAction266*/
1697 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable267) /*Array::add*/;
1698 variable268 = NEW_parser___ReduceAction267___init(); /*new ReduceAction267*/
1699 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable268) /*Array::add*/;
1700 variable269 = NEW_parser___ReduceAction268___init(); /*new ReduceAction268*/
1701 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable269) /*Array::add*/;
1702 variable270 = NEW_parser___ReduceAction269___init(); /*new ReduceAction269*/
1703 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable270) /*Array::add*/;
1704 variable271 = NEW_parser___ReduceAction270___init(); /*new ReduceAction270*/
1705 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable271) /*Array::add*/;
1706 variable272 = NEW_parser___ReduceAction271___init(); /*new ReduceAction271*/
1707 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable272) /*Array::add*/;
1708 variable273 = NEW_parser___ReduceAction272___init(); /*new ReduceAction272*/
1709 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable273) /*Array::add*/;
1710 variable274 = NEW_parser___ReduceAction273___init(); /*new ReduceAction273*/
1711 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable274) /*Array::add*/;
1712 variable275 = NEW_parser___ReduceAction274___init(); /*new ReduceAction274*/
1713 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable275) /*Array::add*/;
1714 variable276 = NEW_parser___ReduceAction275___init(); /*new ReduceAction275*/
1715 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable276) /*Array::add*/;
1716 variable277 = NEW_parser___ReduceAction276___init(); /*new ReduceAction276*/
1717 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable277) /*Array::add*/;
1718 variable278 = NEW_parser___ReduceAction277___init(); /*new ReduceAction277*/
1719 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable278) /*Array::add*/;
1720 variable279 = NEW_parser___ReduceAction278___init(); /*new ReduceAction278*/
1721 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable279) /*Array::add*/;
1722 variable280 = NEW_parser___ReduceAction279___init(); /*new ReduceAction279*/
1723 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable280) /*Array::add*/;
1724 variable281 = NEW_parser___ReduceAction280___init(); /*new ReduceAction280*/
1725 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable281) /*Array::add*/;
1726 variable282 = NEW_parser___ReduceAction281___init(); /*new ReduceAction281*/
1727 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable282) /*Array::add*/;
1728 variable283 = NEW_parser___ReduceAction282___init(); /*new ReduceAction282*/
1729 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable283) /*Array::add*/;
1730 variable284 = NEW_parser___ReduceAction283___init(); /*new ReduceAction283*/
1731 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable284) /*Array::add*/;
1732 variable285 = NEW_parser___ReduceAction284___init(); /*new ReduceAction284*/
1733 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable285) /*Array::add*/;
1734 variable286 = NEW_parser___ReduceAction285___init(); /*new ReduceAction285*/
1735 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable286) /*Array::add*/;
1736 variable287 = NEW_parser___ReduceAction286___init(); /*new ReduceAction286*/
1737 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable287) /*Array::add*/;
1738 variable288 = NEW_parser___ReduceAction287___init(); /*new ReduceAction287*/
1739 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable288) /*Array::add*/;
1740 variable289 = NEW_parser___ReduceAction288___init(); /*new ReduceAction288*/
1741 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable289) /*Array::add*/;
1742 variable290 = NEW_parser___ReduceAction289___init(); /*new ReduceAction289*/
1743 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable290) /*Array::add*/;
1744 variable291 = NEW_parser___ReduceAction290___init(); /*new ReduceAction290*/
1745 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable291) /*Array::add*/;
1746 variable292 = NEW_parser___ReduceAction291___init(); /*new ReduceAction291*/
1747 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable292) /*Array::add*/;
1748 variable293 = NEW_parser___ReduceAction292___init(); /*new ReduceAction292*/
1749 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable293) /*Array::add*/;
1750 variable294 = NEW_parser___ReduceAction293___init(); /*new ReduceAction293*/
1751 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable294) /*Array::add*/;
1752 variable295 = NEW_parser___ReduceAction294___init(); /*new ReduceAction294*/
1753 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable295) /*Array::add*/;
1754 variable296 = NEW_parser___ReduceAction295___init(); /*new ReduceAction295*/
1755 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable296) /*Array::add*/;
1756 variable297 = NEW_parser___ReduceAction296___init(); /*new ReduceAction296*/
1757 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable297) /*Array::add*/;
1758 variable298 = NEW_parser___ReduceAction297___init(); /*new ReduceAction297*/
1759 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable298) /*Array::add*/;
1760 variable299 = NEW_parser___ReduceAction298___init(); /*new ReduceAction298*/
1761 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable299) /*Array::add*/;
1762 variable300 = NEW_parser___ReduceAction299___init(); /*new ReduceAction299*/
1763 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable300) /*Array::add*/;
1764 variable301 = NEW_parser___ReduceAction300___init(); /*new ReduceAction300*/
1765 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable301) /*Array::add*/;
1766 variable302 = NEW_parser___ReduceAction301___init(); /*new ReduceAction301*/
1767 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable302) /*Array::add*/;
1768 variable303 = NEW_parser___ReduceAction302___init(); /*new ReduceAction302*/
1769 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable303) /*Array::add*/;
1770 variable304 = NEW_parser___ReduceAction303___init(); /*new ReduceAction303*/
1771 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable304) /*Array::add*/;
1772 variable305 = NEW_parser___ReduceAction304___init(); /*new ReduceAction304*/
1773 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable305) /*Array::add*/;
1774 variable306 = NEW_parser___ReduceAction305___init(); /*new ReduceAction305*/
1775 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable306) /*Array::add*/;
1776 variable307 = NEW_parser___ReduceAction306___init(); /*new ReduceAction306*/
1777 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable307) /*Array::add*/;
1778 variable308 = NEW_parser___ReduceAction307___init(); /*new ReduceAction307*/
1779 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable308) /*Array::add*/;
1780 variable309 = NEW_parser___ReduceAction308___init(); /*new ReduceAction308*/
1781 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable309) /*Array::add*/;
1782 variable310 = NEW_parser___ReduceAction309___init(); /*new ReduceAction309*/
1783 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable310) /*Array::add*/;
1784 variable311 = NEW_parser___ReduceAction310___init(); /*new ReduceAction310*/
1785 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable311) /*Array::add*/;
1786 variable312 = NEW_parser___ReduceAction311___init(); /*new ReduceAction311*/
1787 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable312) /*Array::add*/;
1788 variable313 = NEW_parser___ReduceAction312___init(); /*new ReduceAction312*/
1789 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable313) /*Array::add*/;
1790 variable314 = NEW_parser___ReduceAction313___init(); /*new ReduceAction313*/
1791 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable314) /*Array::add*/;
1792 variable315 = NEW_parser___ReduceAction314___init(); /*new ReduceAction314*/
1793 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable315) /*Array::add*/;
1794 variable316 = NEW_parser___ReduceAction315___init(); /*new ReduceAction315*/
1795 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable316) /*Array::add*/;
1796 variable317 = NEW_parser___ReduceAction316___init(); /*new ReduceAction316*/
1797 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable317) /*Array::add*/;
1798 variable318 = NEW_parser___ReduceAction317___init(); /*new ReduceAction317*/
1799 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable318) /*Array::add*/;
1800 variable319 = NEW_parser___ReduceAction318___init(); /*new ReduceAction318*/
1801 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable319) /*Array::add*/;
1802 variable320 = NEW_parser___ReduceAction319___init(); /*new ReduceAction319*/
1803 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable320) /*Array::add*/;
1804 variable321 = NEW_parser___ReduceAction320___init(); /*new ReduceAction320*/
1805 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable321) /*Array::add*/;
1806 variable322 = NEW_parser___ReduceAction321___init(); /*new ReduceAction321*/
1807 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable322) /*Array::add*/;
1808 variable323 = NEW_parser___ReduceAction322___init(); /*new ReduceAction322*/
1809 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable323) /*Array::add*/;
1810 variable324 = NEW_parser___ReduceAction323___init(); /*new ReduceAction323*/
1811 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable324) /*Array::add*/;
1812 variable325 = NEW_parser___ReduceAction324___init(); /*new ReduceAction324*/
1813 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable325) /*Array::add*/;
1814 variable326 = NEW_parser___ReduceAction325___init(); /*new ReduceAction325*/
1815 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable326) /*Array::add*/;
1816 variable327 = NEW_parser___ReduceAction326___init(); /*new ReduceAction326*/
1817 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable327) /*Array::add*/;
1818 variable328 = NEW_parser___ReduceAction327___init(); /*new ReduceAction327*/
1819 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable328) /*Array::add*/;
1820 variable329 = NEW_parser___ReduceAction328___init(); /*new ReduceAction328*/
1821 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable329) /*Array::add*/;
1822 variable330 = NEW_parser___ReduceAction329___init(); /*new ReduceAction329*/
1823 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable330) /*Array::add*/;
1824 variable331 = NEW_parser___ReduceAction330___init(); /*new ReduceAction330*/
1825 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable331) /*Array::add*/;
1826 variable332 = NEW_parser___ReduceAction331___init(); /*new ReduceAction331*/
1827 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable332) /*Array::add*/;
1828 variable333 = NEW_parser___ReduceAction332___init(); /*new ReduceAction332*/
1829 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable333) /*Array::add*/;
1830 variable334 = NEW_parser___ReduceAction333___init(); /*new ReduceAction333*/
1831 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable334) /*Array::add*/;
1832 variable335 = NEW_parser___ReduceAction334___init(); /*new ReduceAction334*/
1833 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable335) /*Array::add*/;
1834 variable336 = NEW_parser___ReduceAction335___init(); /*new ReduceAction335*/
1835 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable336) /*Array::add*/;
1836 variable337 = NEW_parser___ReduceAction336___init(); /*new ReduceAction336*/
1837 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable337) /*Array::add*/;
1838 variable338 = NEW_parser___ReduceAction337___init(); /*new ReduceAction337*/
1839 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable338) /*Array::add*/;
1840 variable339 = NEW_parser___ReduceAction338___init(); /*new ReduceAction338*/
1841 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable339) /*Array::add*/;
1842 variable340 = NEW_parser___ReduceAction339___init(); /*new ReduceAction339*/
1843 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable340) /*Array::add*/;
1844 variable341 = NEW_parser___ReduceAction340___init(); /*new ReduceAction340*/
1845 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable341) /*Array::add*/;
1846 variable342 = NEW_parser___ReduceAction341___init(); /*new ReduceAction341*/
1847 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable342) /*Array::add*/;
1848 variable343 = NEW_parser___ReduceAction342___init(); /*new ReduceAction342*/
1849 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable343) /*Array::add*/;
1850 variable344 = NEW_parser___ReduceAction343___init(); /*new ReduceAction343*/
1851 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable344) /*Array::add*/;
1852 variable345 = NEW_parser___ReduceAction344___init(); /*new ReduceAction344*/
1853 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable345) /*Array::add*/;
1854 variable346 = NEW_parser___ReduceAction345___init(); /*new ReduceAction345*/
1855 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable346) /*Array::add*/;
1856 variable347 = NEW_parser___ReduceAction346___init(); /*new ReduceAction346*/
1857 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable347) /*Array::add*/;
1858 variable348 = NEW_parser___ReduceAction347___init(); /*new ReduceAction347*/
1859 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable348) /*Array::add*/;
1860 variable349 = NEW_parser___ReduceAction348___init(); /*new ReduceAction348*/
1861 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable349) /*Array::add*/;
1862 variable350 = NEW_parser___ReduceAction349___init(); /*new ReduceAction349*/
1863 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable350) /*Array::add*/;
1864 variable351 = NEW_parser___ReduceAction350___init(); /*new ReduceAction350*/
1865 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable351) /*Array::add*/;
1866 variable352 = NEW_parser___ReduceAction351___init(); /*new ReduceAction351*/
1867 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable352) /*Array::add*/;
1868 variable353 = NEW_parser___ReduceAction352___init(); /*new ReduceAction352*/
1869 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable353) /*Array::add*/;
1870 variable354 = NEW_parser___ReduceAction353___init(); /*new ReduceAction353*/
1871 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable354) /*Array::add*/;
1872 variable355 = NEW_parser___ReduceAction354___init(); /*new ReduceAction354*/
1873 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable355) /*Array::add*/;
1874 variable356 = NEW_parser___ReduceAction355___init(); /*new ReduceAction355*/
1875 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable356) /*Array::add*/;
1876 variable357 = NEW_parser___ReduceAction356___init(); /*new ReduceAction356*/
1877 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable357) /*Array::add*/;
1878 variable358 = NEW_parser___ReduceAction357___init(); /*new ReduceAction357*/
1879 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable358) /*Array::add*/;
1880 variable359 = NEW_parser___ReduceAction358___init(); /*new ReduceAction358*/
1881 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable359) /*Array::add*/;
1882 variable360 = NEW_parser___ReduceAction359___init(); /*new ReduceAction359*/
1883 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable360) /*Array::add*/;
1884 variable361 = NEW_parser___ReduceAction360___init(); /*new ReduceAction360*/
1885 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable361) /*Array::add*/;
1886 variable362 = NEW_parser___ReduceAction361___init(); /*new ReduceAction361*/
1887 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable362) /*Array::add*/;
1888 variable363 = NEW_parser___ReduceAction362___init(); /*new ReduceAction362*/
1889 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable363) /*Array::add*/;
1890 variable364 = NEW_parser___ReduceAction363___init(); /*new ReduceAction363*/
1891 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable364) /*Array::add*/;
1892 variable365 = NEW_parser___ReduceAction364___init(); /*new ReduceAction364*/
1893 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable365) /*Array::add*/;
1894 variable366 = NEW_parser___ReduceAction365___init(); /*new ReduceAction365*/
1895 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable366) /*Array::add*/;
1896 variable367 = NEW_parser___ReduceAction366___init(); /*new ReduceAction366*/
1897 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable367) /*Array::add*/;
1898 variable368 = NEW_parser___ReduceAction367___init(); /*new ReduceAction367*/
1899 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable368) /*Array::add*/;
1900 variable369 = NEW_parser___ReduceAction368___init(); /*new ReduceAction368*/
1901 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable369) /*Array::add*/;
1902 variable370 = NEW_parser___ReduceAction369___init(); /*new ReduceAction369*/
1903 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable370) /*Array::add*/;
1904 variable371 = NEW_parser___ReduceAction370___init(); /*new ReduceAction370*/
1905 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable371) /*Array::add*/;
1906 variable372 = NEW_parser___ReduceAction371___init(); /*new ReduceAction371*/
1907 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable372) /*Array::add*/;
1908 variable373 = NEW_parser___ReduceAction372___init(); /*new ReduceAction372*/
1909 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable373) /*Array::add*/;
1910 variable374 = NEW_parser___ReduceAction373___init(); /*new ReduceAction373*/
1911 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable374) /*Array::add*/;
1912 variable375 = NEW_parser___ReduceAction374___init(); /*new ReduceAction374*/
1913 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable375) /*Array::add*/;
1914 variable376 = NEW_parser___ReduceAction375___init(); /*new ReduceAction375*/
1915 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable376) /*Array::add*/;
1916 variable377 = NEW_parser___ReduceAction376___init(); /*new ReduceAction376*/
1917 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable377) /*Array::add*/;
1918 variable378 = NEW_parser___ReduceAction377___init(); /*new ReduceAction377*/
1919 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable378) /*Array::add*/;
1920 variable379 = NEW_parser___ReduceAction378___init(); /*new ReduceAction378*/
1921 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable379) /*Array::add*/;
1922 variable380 = NEW_parser___ReduceAction379___init(); /*new ReduceAction379*/
1923 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable380) /*Array::add*/;
1924 variable381 = NEW_parser___ReduceAction380___init(); /*new ReduceAction380*/
1925 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable381) /*Array::add*/;
1926 variable382 = NEW_parser___ReduceAction381___init(); /*new ReduceAction381*/
1927 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable382) /*Array::add*/;
1928 variable383 = NEW_parser___ReduceAction382___init(); /*new ReduceAction382*/
1929 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable383) /*Array::add*/;
1930 variable384 = NEW_parser___ReduceAction383___init(); /*new ReduceAction383*/
1931 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable384) /*Array::add*/;
1932 variable385 = NEW_parser___ReduceAction384___init(); /*new ReduceAction384*/
1933 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable385) /*Array::add*/;
1934 variable386 = NEW_parser___ReduceAction385___init(); /*new ReduceAction385*/
1935 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable386) /*Array::add*/;
1936 variable387 = NEW_parser___ReduceAction386___init(); /*new ReduceAction386*/
1937 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable387) /*Array::add*/;
1938 variable388 = NEW_parser___ReduceAction387___init(); /*new ReduceAction387*/
1939 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable388) /*Array::add*/;
1940 variable389 = NEW_parser___ReduceAction388___init(); /*new ReduceAction388*/
1941 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable389) /*Array::add*/;
1942 variable390 = NEW_parser___ReduceAction389___init(); /*new ReduceAction389*/
1943 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable390) /*Array::add*/;
1944 variable391 = NEW_parser___ReduceAction390___init(); /*new ReduceAction390*/
1945 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable391) /*Array::add*/;
1946 variable392 = NEW_parser___ReduceAction391___init(); /*new ReduceAction391*/
1947 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable392) /*Array::add*/;
1948 variable393 = NEW_parser___ReduceAction392___init(); /*new ReduceAction392*/
1949 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable393) /*Array::add*/;
1950 variable394 = NEW_parser___ReduceAction393___init(); /*new ReduceAction393*/
1951 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable394) /*Array::add*/;
1952 variable395 = NEW_parser___ReduceAction394___init(); /*new ReduceAction394*/
1953 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable395) /*Array::add*/;
1954 variable396 = NEW_parser___ReduceAction395___init(); /*new ReduceAction395*/
1955 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable396) /*Array::add*/;
1956 variable397 = NEW_parser___ReduceAction396___init(); /*new ReduceAction396*/
1957 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable397) /*Array::add*/;
1958 variable398 = NEW_parser___ReduceAction397___init(); /*new ReduceAction397*/
1959 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable398) /*Array::add*/;
1960 variable399 = NEW_parser___ReduceAction398___init(); /*new ReduceAction398*/
1961 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable399) /*Array::add*/;
1962 variable400 = NEW_parser___ReduceAction399___init(); /*new ReduceAction399*/
1963 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable400) /*Array::add*/;
1964 variable401 = NEW_parser___ReduceAction400___init(); /*new ReduceAction400*/
1965 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable401) /*Array::add*/;
1966 variable402 = NEW_parser___ReduceAction401___init(); /*new ReduceAction401*/
1967 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable402) /*Array::add*/;
1968 variable403 = NEW_parser___ReduceAction402___init(); /*new ReduceAction402*/
1969 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable403) /*Array::add*/;
1970 variable404 = NEW_parser___ReduceAction403___init(); /*new ReduceAction403*/
1971 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable404) /*Array::add*/;
1972 variable405 = NEW_parser___ReduceAction404___init(); /*new ReduceAction404*/
1973 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable405) /*Array::add*/;
1974 variable406 = NEW_parser___ReduceAction405___init(); /*new ReduceAction405*/
1975 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable406) /*Array::add*/;
1976 variable407 = NEW_parser___ReduceAction406___init(); /*new ReduceAction406*/
1977 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable407) /*Array::add*/;
1978 variable408 = NEW_parser___ReduceAction407___init(); /*new ReduceAction407*/
1979 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable408) /*Array::add*/;
1980 variable409 = NEW_parser___ReduceAction408___init(); /*new ReduceAction408*/
1981 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable409) /*Array::add*/;
1982 variable410 = NEW_parser___ReduceAction409___init(); /*new ReduceAction409*/
1983 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable410) /*Array::add*/;
1984 variable411 = NEW_parser___ReduceAction410___init(); /*new ReduceAction410*/
1985 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable411) /*Array::add*/;
1986 variable412 = NEW_parser___ReduceAction411___init(); /*new ReduceAction411*/
1987 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable412) /*Array::add*/;
1988 variable413 = NEW_parser___ReduceAction412___init(); /*new ReduceAction412*/
1989 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable413) /*Array::add*/;
1990 variable414 = NEW_parser___ReduceAction413___init(); /*new ReduceAction413*/
1991 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable414) /*Array::add*/;
1992 variable415 = NEW_parser___ReduceAction414___init(); /*new ReduceAction414*/
1993 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable415) /*Array::add*/;
1994 variable416 = NEW_parser___ReduceAction415___init(); /*new ReduceAction415*/
1995 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable416) /*Array::add*/;
1996 variable417 = NEW_parser___ReduceAction416___init(); /*new ReduceAction416*/
1997 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable417) /*Array::add*/;
1998 variable418 = NEW_parser___ReduceAction417___init(); /*new ReduceAction417*/
1999 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable418) /*Array::add*/;
2000 variable419 = NEW_parser___ReduceAction418___init(); /*new ReduceAction418*/
2001 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable419) /*Array::add*/;
2002 variable420 = NEW_parser___ReduceAction419___init(); /*new ReduceAction419*/
2003 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable420) /*Array::add*/;
2004 variable421 = NEW_parser___ReduceAction420___init(); /*new ReduceAction420*/
2005 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable421) /*Array::add*/;
2006 variable422 = NEW_parser___ReduceAction421___init(); /*new ReduceAction421*/
2007 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable422) /*Array::add*/;
2008 variable423 = NEW_parser___ReduceAction422___init(); /*new ReduceAction422*/
2009 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable423) /*Array::add*/;
2010 variable424 = NEW_parser___ReduceAction423___init(); /*new ReduceAction423*/
2011 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable424) /*Array::add*/;
2012 variable425 = NEW_parser___ReduceAction424___init(); /*new ReduceAction424*/
2013 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable425) /*Array::add*/;
2014 variable426 = NEW_parser___ReduceAction425___init(); /*new ReduceAction425*/
2015 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable426) /*Array::add*/;
2016 variable427 = NEW_parser___ReduceAction426___init(); /*new ReduceAction426*/
2017 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable427) /*Array::add*/;
2018 variable428 = NEW_parser___ReduceAction427___init(); /*new ReduceAction427*/
2019 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable428) /*Array::add*/;
2020 variable429 = NEW_parser___ReduceAction428___init(); /*new ReduceAction428*/
2021 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable429) /*Array::add*/;
2022 variable430 = NEW_parser___ReduceAction429___init(); /*new ReduceAction429*/
2023 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable430) /*Array::add*/;
2024 variable431 = NEW_parser___ReduceAction430___init(); /*new ReduceAction430*/
2025 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable431) /*Array::add*/;
2026 variable432 = NEW_parser___ReduceAction431___init(); /*new ReduceAction431*/
2027 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable432) /*Array::add*/;
2028 variable433 = NEW_parser___ReduceAction432___init(); /*new ReduceAction432*/
2029 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable433) /*Array::add*/;
2030 variable434 = NEW_parser___ReduceAction433___init(); /*new ReduceAction433*/
2031 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable434) /*Array::add*/;
2032 variable435 = NEW_parser___ReduceAction434___init(); /*new ReduceAction434*/
2033 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable435) /*Array::add*/;
2034 variable436 = NEW_parser___ReduceAction435___init(); /*new ReduceAction435*/
2035 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable436) /*Array::add*/;
2036 variable437 = NEW_parser___ReduceAction436___init(); /*new ReduceAction436*/
2037 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable437) /*Array::add*/;
2038 variable438 = NEW_parser___ReduceAction437___init(); /*new ReduceAction437*/
2039 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable438) /*Array::add*/;
2040 variable439 = NEW_parser___ReduceAction438___init(); /*new ReduceAction438*/
2041 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable439) /*Array::add*/;
2042 variable440 = NEW_parser___ReduceAction439___init(); /*new ReduceAction439*/
2043 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable440) /*Array::add*/;
2044 variable441 = NEW_parser___ReduceAction440___init(); /*new ReduceAction440*/
2045 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable441) /*Array::add*/;
2046 variable442 = NEW_parser___ReduceAction441___init(); /*new ReduceAction441*/
2047 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable442) /*Array::add*/;
2048 variable443 = NEW_parser___ReduceAction442___init(); /*new ReduceAction442*/
2049 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable443) /*Array::add*/;
2050 variable444 = NEW_parser___ReduceAction443___init(); /*new ReduceAction443*/
2051 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable444) /*Array::add*/;
2052 variable445 = NEW_parser___ReduceAction444___init(); /*new ReduceAction444*/
2053 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable445) /*Array::add*/;
2054 variable446 = NEW_parser___ReduceAction445___init(); /*new ReduceAction445*/
2055 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable446) /*Array::add*/;
2056 variable447 = NEW_parser___ReduceAction446___init(); /*new ReduceAction446*/
2057 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable447) /*Array::add*/;
2058 variable448 = NEW_parser___ReduceAction447___init(); /*new ReduceAction447*/
2059 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable448) /*Array::add*/;
2060 variable449 = NEW_parser___ReduceAction448___init(); /*new ReduceAction448*/
2061 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable449) /*Array::add*/;
2062 variable450 = NEW_parser___ReduceAction449___init(); /*new ReduceAction449*/
2063 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable450) /*Array::add*/;
2064 variable451 = NEW_parser___ReduceAction450___init(); /*new ReduceAction450*/
2065 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable451) /*Array::add*/;
2066 variable452 = NEW_parser___ReduceAction451___init(); /*new ReduceAction451*/
2067 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable452) /*Array::add*/;
2068 variable453 = NEW_parser___ReduceAction452___init(); /*new ReduceAction452*/
2069 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable453) /*Array::add*/;
2070 variable454 = NEW_parser___ReduceAction453___init(); /*new ReduceAction453*/
2071 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable454) /*Array::add*/;
2072 variable455 = NEW_parser___ReduceAction454___init(); /*new ReduceAction454*/
2073 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable455) /*Array::add*/;
2074 variable456 = NEW_parser___ReduceAction455___init(); /*new ReduceAction455*/
2075 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable456) /*Array::add*/;
2076 variable457 = NEW_parser___ReduceAction456___init(); /*new ReduceAction456*/
2077 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable457) /*Array::add*/;
2078 variable458 = NEW_parser___ReduceAction457___init(); /*new ReduceAction457*/
2079 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable458) /*Array::add*/;
2080 variable459 = NEW_parser___ReduceAction458___init(); /*new ReduceAction458*/
2081 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable459) /*Array::add*/;
2082 variable460 = NEW_parser___ReduceAction459___init(); /*new ReduceAction459*/
2083 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable460) /*Array::add*/;
2084 variable461 = NEW_parser___ReduceAction460___init(); /*new ReduceAction460*/
2085 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable461) /*Array::add*/;
2086 variable462 = NEW_parser___ReduceAction461___init(); /*new ReduceAction461*/
2087 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable462) /*Array::add*/;
2088 variable463 = NEW_parser___ReduceAction462___init(); /*new ReduceAction462*/
2089 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable463) /*Array::add*/;
2090 variable464 = NEW_parser___ReduceAction463___init(); /*new ReduceAction463*/
2091 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable464) /*Array::add*/;
2092 variable465 = NEW_parser___ReduceAction464___init(); /*new ReduceAction464*/
2093 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable465) /*Array::add*/;
2094 variable466 = NEW_parser___ReduceAction465___init(); /*new ReduceAction465*/
2095 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable466) /*Array::add*/;
2096 variable467 = NEW_parser___ReduceAction466___init(); /*new ReduceAction466*/
2097 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable467) /*Array::add*/;
2098 variable468 = NEW_parser___ReduceAction467___init(); /*new ReduceAction467*/
2099 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable468) /*Array::add*/;
2100 variable469 = NEW_parser___ReduceAction468___init(); /*new ReduceAction468*/
2101 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable469) /*Array::add*/;
2102 variable470 = NEW_parser___ReduceAction469___init(); /*new ReduceAction469*/
2103 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable470) /*Array::add*/;
2104 variable471 = NEW_parser___ReduceAction470___init(); /*new ReduceAction470*/
2105 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable471) /*Array::add*/;
2106 variable472 = NEW_parser___ReduceAction471___init(); /*new ReduceAction471*/
2107 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable472) /*Array::add*/;
2108 variable473 = NEW_parser___ReduceAction472___init(); /*new ReduceAction472*/
2109 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable473) /*Array::add*/;
2110 variable474 = NEW_parser___ReduceAction473___init(); /*new ReduceAction473*/
2111 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable474) /*Array::add*/;
2112 variable475 = NEW_parser___ReduceAction474___init(); /*new ReduceAction474*/
2113 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable475) /*Array::add*/;
2114 variable476 = NEW_parser___ReduceAction475___init(); /*new ReduceAction475*/
2115 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable476) /*Array::add*/;
2116 variable477 = NEW_parser___ReduceAction476___init(); /*new ReduceAction476*/
2117 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable477) /*Array::add*/;
2118 variable478 = NEW_parser___ReduceAction477___init(); /*new ReduceAction477*/
2119 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable478) /*Array::add*/;
2120 variable479 = NEW_parser___ReduceAction478___init(); /*new ReduceAction478*/
2121 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable479) /*Array::add*/;
2122 variable480 = NEW_parser___ReduceAction479___init(); /*new ReduceAction479*/
2123 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable480) /*Array::add*/;
2124 variable481 = NEW_parser___ReduceAction480___init(); /*new ReduceAction480*/
2125 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable481) /*Array::add*/;
2126 variable482 = NEW_parser___ReduceAction481___init(); /*new ReduceAction481*/
2127 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable482) /*Array::add*/;
2128 variable483 = NEW_parser___ReduceAction482___init(); /*new ReduceAction482*/
2129 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable483) /*Array::add*/;
2130 variable484 = NEW_parser___ReduceAction483___init(); /*new ReduceAction483*/
2131 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable484) /*Array::add*/;
2132 variable485 = NEW_parser___ReduceAction484___init(); /*new ReduceAction484*/
2133 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable485) /*Array::add*/;
2134 variable486 = NEW_parser___ReduceAction485___init(); /*new ReduceAction485*/
2135 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable486) /*Array::add*/;
2136 variable487 = NEW_parser___ReduceAction486___init(); /*new ReduceAction486*/
2137 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable487) /*Array::add*/;
2138 variable488 = NEW_parser___ReduceAction487___init(); /*new ReduceAction487*/
2139 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable488) /*Array::add*/;
2140 variable489 = NEW_parser___ReduceAction488___init(); /*new ReduceAction488*/
2141 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable489) /*Array::add*/;
2142 variable490 = NEW_parser___ReduceAction489___init(); /*new ReduceAction489*/
2143 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable490) /*Array::add*/;
2144 variable491 = NEW_parser___ReduceAction490___init(); /*new ReduceAction490*/
2145 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable491) /*Array::add*/;
2146 variable492 = NEW_parser___ReduceAction491___init(); /*new ReduceAction491*/
2147 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable492) /*Array::add*/;
2148 variable493 = NEW_parser___ReduceAction492___init(); /*new ReduceAction492*/
2149 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable493) /*Array::add*/;
2150 variable494 = NEW_parser___ReduceAction493___init(); /*new ReduceAction493*/
2151 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable494) /*Array::add*/;
2152 variable495 = NEW_parser___ReduceAction494___init(); /*new ReduceAction494*/
2153 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable495) /*Array::add*/;
2154 variable496 = NEW_parser___ReduceAction495___init(); /*new ReduceAction495*/
2155 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable496) /*Array::add*/;
2156 variable497 = NEW_parser___ReduceAction496___init(); /*new ReduceAction496*/
2157 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable497) /*Array::add*/;
2158 variable498 = NEW_parser___ReduceAction497___init(); /*new ReduceAction497*/
2159 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable498) /*Array::add*/;
2160 variable499 = NEW_parser___ReduceAction498___init(); /*new ReduceAction498*/
2161 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable499) /*Array::add*/;
2162 variable500 = NEW_parser___ReduceAction499___init(); /*new ReduceAction499*/
2163 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable500) /*Array::add*/;
2164 variable501 = NEW_parser___ReduceAction500___init(); /*new ReduceAction500*/
2165 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable501) /*Array::add*/;
2166 variable502 = NEW_parser___ReduceAction501___init(); /*new ReduceAction501*/
2167 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable502) /*Array::add*/;
2168 variable503 = NEW_parser___ReduceAction502___init(); /*new ReduceAction502*/
2169 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable503) /*Array::add*/;
2170 variable504 = NEW_parser___ReduceAction503___init(); /*new ReduceAction503*/
2171 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable504) /*Array::add*/;
2172 variable505 = NEW_parser___ReduceAction504___init(); /*new ReduceAction504*/
2173 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable505) /*Array::add*/;
2174 variable506 = NEW_parser___ReduceAction505___init(); /*new ReduceAction505*/
2175 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable506) /*Array::add*/;
2176 variable507 = NEW_parser___ReduceAction506___init(); /*new ReduceAction506*/
2177 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable507) /*Array::add*/;
2178 variable508 = NEW_parser___ReduceAction507___init(); /*new ReduceAction507*/
2179 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable508) /*Array::add*/;
2180 variable509 = NEW_parser___ReduceAction508___init(); /*new ReduceAction508*/
2181 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable509) /*Array::add*/;
2182 variable510 = NEW_parser___ReduceAction509___init(); /*new ReduceAction509*/
2183 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable510) /*Array::add*/;
2184 variable511 = NEW_parser___ReduceAction510___init(); /*new ReduceAction510*/
2185 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable511) /*Array::add*/;
2186 variable512 = NEW_parser___ReduceAction511___init(); /*new ReduceAction511*/
2187 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable512) /*Array::add*/;
2188 variable513 = NEW_parser___ReduceAction512___init(); /*new ReduceAction512*/
2189 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable513) /*Array::add*/;
2190 variable514 = NEW_parser___ReduceAction513___init(); /*new ReduceAction513*/
2191 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable514) /*Array::add*/;
2192 variable515 = NEW_parser___ReduceAction514___init(); /*new ReduceAction514*/
2193 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable515) /*Array::add*/;
2194 variable516 = NEW_parser___ReduceAction515___init(); /*new ReduceAction515*/
2195 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable516) /*Array::add*/;
2196 variable517 = NEW_parser___ReduceAction516___init(); /*new ReduceAction516*/
2197 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable517) /*Array::add*/;
2198 variable518 = NEW_parser___ReduceAction517___init(); /*new ReduceAction517*/
2199 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable518) /*Array::add*/;
2200 variable519 = NEW_parser___ReduceAction518___init(); /*new ReduceAction518*/
2201 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable519) /*Array::add*/;
2202 variable520 = NEW_parser___ReduceAction519___init(); /*new ReduceAction519*/
2203 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable520) /*Array::add*/;
2204 variable521 = NEW_parser___ReduceAction520___init(); /*new ReduceAction520*/
2205 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable521) /*Array::add*/;
2206 variable522 = NEW_parser___ReduceAction521___init(); /*new ReduceAction521*/
2207 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable522) /*Array::add*/;
2208 variable523 = NEW_parser___ReduceAction522___init(); /*new ReduceAction522*/
2209 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable523) /*Array::add*/;
2210 variable524 = NEW_parser___ReduceAction523___init(); /*new ReduceAction523*/
2211 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable524) /*Array::add*/;
2212 variable525 = NEW_parser___ReduceAction524___init(); /*new ReduceAction524*/
2213 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable525) /*Array::add*/;
2214 variable526 = NEW_parser___ReduceAction525___init(); /*new ReduceAction525*/
2215 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable526) /*Array::add*/;
2216 variable527 = NEW_parser___ReduceAction526___init(); /*new ReduceAction526*/
2217 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable527) /*Array::add*/;
2218 variable528 = NEW_parser___ReduceAction527___init(); /*new ReduceAction527*/
2219 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable528) /*Array::add*/;
2220 variable529 = NEW_parser___ReduceAction528___init(); /*new ReduceAction528*/
2221 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable529) /*Array::add*/;
2222 variable530 = NEW_parser___ReduceAction529___init(); /*new ReduceAction529*/
2223 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable530) /*Array::add*/;
2224 variable531 = NEW_parser___ReduceAction530___init(); /*new ReduceAction530*/
2225 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable531) /*Array::add*/;
2226 variable532 = NEW_parser___ReduceAction531___init(); /*new ReduceAction531*/
2227 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable532) /*Array::add*/;
2228 variable533 = NEW_parser___ReduceAction532___init(); /*new ReduceAction532*/
2229 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable533) /*Array::add*/;
2230 variable534 = NEW_parser___ReduceAction533___init(); /*new ReduceAction533*/
2231 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable534) /*Array::add*/;
2232 variable535 = NEW_parser___ReduceAction534___init(); /*new ReduceAction534*/
2233 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable535) /*Array::add*/;
2234 variable536 = NEW_parser___ReduceAction535___init(); /*new ReduceAction535*/
2235 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable536) /*Array::add*/;
2236 variable537 = NEW_parser___ReduceAction536___init(); /*new ReduceAction536*/
2237 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable537) /*Array::add*/;
2238 variable538 = NEW_parser___ReduceAction537___init(); /*new ReduceAction537*/
2239 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable538) /*Array::add*/;
2240 variable539 = NEW_parser___ReduceAction538___init(); /*new ReduceAction538*/
2241 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable539) /*Array::add*/;
2242 variable540 = NEW_parser___ReduceAction539___init(); /*new ReduceAction539*/
2243 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable540) /*Array::add*/;
2244 variable541 = NEW_parser___ReduceAction540___init(); /*new ReduceAction540*/
2245 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable541) /*Array::add*/;
2246 variable542 = NEW_parser___ReduceAction541___init(); /*new ReduceAction541*/
2247 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable542) /*Array::add*/;
2248 variable543 = NEW_parser___ReduceAction542___init(); /*new ReduceAction542*/
2249 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable543) /*Array::add*/;
2250 variable544 = NEW_parser___ReduceAction543___init(); /*new ReduceAction543*/
2251 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable544) /*Array::add*/;
2252 variable545 = NEW_parser___ReduceAction544___init(); /*new ReduceAction544*/
2253 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable545) /*Array::add*/;
2254 variable546 = NEW_parser___ReduceAction545___init(); /*new ReduceAction545*/
2255 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable546) /*Array::add*/;
2256 variable547 = NEW_parser___ReduceAction546___init(); /*new ReduceAction546*/
2257 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable547) /*Array::add*/;
2258 variable548 = NEW_parser___ReduceAction547___init(); /*new ReduceAction547*/
2259 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable548) /*Array::add*/;
2260 variable549 = NEW_parser___ReduceAction548___init(); /*new ReduceAction548*/
2261 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable549) /*Array::add*/;
2262 variable550 = NEW_parser___ReduceAction549___init(); /*new ReduceAction549*/
2263 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable550) /*Array::add*/;
2264 variable551 = NEW_parser___ReduceAction550___init(); /*new ReduceAction550*/
2265 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable551) /*Array::add*/;
2266 variable552 = NEW_parser___ReduceAction551___init(); /*new ReduceAction551*/
2267 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable552) /*Array::add*/;
2268 variable553 = NEW_parser___ReduceAction552___init(); /*new ReduceAction552*/
2269 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable553) /*Array::add*/;
2270 variable554 = NEW_parser___ReduceAction553___init(); /*new ReduceAction553*/
2271 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable554) /*Array::add*/;
2272 variable555 = NEW_parser___ReduceAction554___init(); /*new ReduceAction554*/
2273 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable555) /*Array::add*/;
2274 variable556 = NEW_parser___ReduceAction555___init(); /*new ReduceAction555*/
2275 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable556) /*Array::add*/;
2276 variable557 = NEW_parser___ReduceAction556___init(); /*new ReduceAction556*/
2277 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable557) /*Array::add*/;
2278 variable558 = NEW_parser___ReduceAction557___init(); /*new ReduceAction557*/
2279 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable558) /*Array::add*/;
2280 variable559 = NEW_parser___ReduceAction558___init(); /*new ReduceAction558*/
2281 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable559) /*Array::add*/;
2282 variable560 = NEW_parser___ReduceAction559___init(); /*new ReduceAction559*/
2283 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable560) /*Array::add*/;
2284 variable561 = NEW_parser___ReduceAction560___init(); /*new ReduceAction560*/
2285 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable561) /*Array::add*/;
2286 variable562 = NEW_parser___ReduceAction561___init(); /*new ReduceAction561*/
2287 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable562) /*Array::add*/;
2288 variable563 = NEW_parser___ReduceAction562___init(); /*new ReduceAction562*/
2289 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable563) /*Array::add*/;
2290 variable564 = NEW_parser___ReduceAction563___init(); /*new ReduceAction563*/
2291 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable564) /*Array::add*/;
2292 variable565 = NEW_parser___ReduceAction564___init(); /*new ReduceAction564*/
2293 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable565) /*Array::add*/;
2294 variable566 = NEW_parser___ReduceAction565___init(); /*new ReduceAction565*/
2295 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable566) /*Array::add*/;
2296 variable567 = NEW_parser___ReduceAction566___init(); /*new ReduceAction566*/
2297 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable567) /*Array::add*/;
2298 variable568 = NEW_parser___ReduceAction567___init(); /*new ReduceAction567*/
2299 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable568) /*Array::add*/;
2300 variable569 = NEW_parser___ReduceAction568___init(); /*new ReduceAction568*/
2301 ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable569) /*Array::add*/;
2302 variable1 = NEW_array___Array___with(variable0); /*new Array[ReduceAction]*/
2303 variable0 = variable1;
2304 ATTR_parser___Parser____reduce_table( self) /*Parser::_reduce_table*/ = variable0;
2305 tracehead = trace.prev;
2306 return;
2307 }
2308 void parser___SearchTokensVisitor___visit(val_t self, val_t param0) {
2309 struct trace_t trace = {NULL, "parser::SearchTokensVisitor::visit (src/parser//parser.nit:739,2--752:29)"};
2310 val_t variable0;
2311 val_t variable1;
2312 val_t variable2;
2313 trace.prev = tracehead; tracehead = &trace;
2314 variable0 = param0;
2315 variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
2316 if (UNTAG_Bool(variable1)) { /*if*/
2317 variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
2318 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:742,4--21\n"); nit_exit(1);}
2319 ATTR_parser___SearchTokensVisitor____last_token( self) /*SearchTokensVisitor::_last_token*/ = variable0 /*n*/;
2320 variable1 = ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/;
2321 variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Array::iterator*/;
2322 while (true) { /*for*/
2323 variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
2324 if (!UNTAG_Bool(variable2)) break; /*for*/
2325 variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/;
2326 ((parser_prod___Prod___first_token__eq_t)CALL( variable2 /*no*/,COLOR_parser_prod___Prod___first_token__eq))( variable2 /*no*/, variable0 /*n*/) /*Prod::first_token=*/;
2327 continue_30: while(0);
2328 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
2329 }
2330 break_30: while(0);
2331 variable1 = ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/;
2332 ((array___AbstractArray___clear_t)CALL(variable1,COLOR_abstract_collection___RemovableCollection___clear))(variable1) /*Array::clear*/;
2333 } else { /*if*/
2334 variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Prod, ID_Prod)) /*cast Prod*/;
2335 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:749,4--20\n"); nit_exit(1);}
2336 variable1 = ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/;
2337 ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable0 /*n*/) /*Array::add*/;
2338 ((parser_prod___PNode___visit_all_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___visit_all))( variable0 /*n*/, self) /*Prod::visit_all*/;
2339 variable1 = ATTR_parser___SearchTokensVisitor____last_token( self) /*SearchTokensVisitor::_last_token*/;
2340 ((parser_prod___Prod___last_token__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___Prod___last_token__eq))( variable0 /*n*/, variable1) /*Prod::last_token=*/;
2341 }
2342 tracehead = trace.prev;
2343 return;
2344 }
2345 void parser___SearchTokensVisitor___init(val_t self, int* init_table) {
2346 struct trace_t trace = {NULL, "parser::SearchTokensVisitor::init (src/parser//parser.nit:755,2--757:36)"};
2347 val_t variable0;
2348 trace.prev = tracehead; tracehead = &trace;
2349 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SearchTokensVisitor].i]) return;
2350 variable0 = NEW_array___Array___init(); /*new Array[Prod]*/
2351 ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/ = variable0;
2352 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SearchTokensVisitor].i] = 1;
2353 tracehead = trace.prev;
2354 return;
2355 }
2356 void parser___ReduceAction___action(val_t self, val_t param0) {
2357 struct trace_t trace = {NULL, "parser::ReduceAction::action (src/parser//parser.nit:763,2--22)"};
2358 trace.prev = tracehead; tracehead = &trace;
2359 fprintf(stderr, "Deferred method action called (src/parser//parser.nit:763,2)\n");
2360 nit_exit(1);
2361 tracehead = trace.prev;
2362 return;
2363 }
2364 void parser___ReduceAction0___action(val_t self, val_t param0) {
2365 struct trace_t trace = {NULL, "parser::ReduceAction0::action (src/parser//parser.nit:768,2--779:33)"};
2366 val_t variable0;
2367 val_t variable1;
2368 val_t variable2;
2369 val_t variable3;
2370 val_t variable4;
2371 val_t variable5;
2372 trace.prev = tracehead; tracehead = &trace;
2373 variable0 = param0;
2374 variable1 = NIT_NULL /*null*/;
2375 variable3 = NEW_array___Array___init(); /*new Array[Object]*/
2376 variable2 = variable3;
2377 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
2378 variable3 = variable4;
2379 variable5 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable2 /*listnode3*/, variable3 /*listnode4*/); /*new AModule*/
2380 variable4 = variable5;
2381 variable1 = variable4 /*pmodulenode1*/ /*node_list=*/;
2382 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2383 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
2384 tracehead = trace.prev;
2385 return;
2386 }
2387 void parser___ReduceAction0___init(val_t self, int* init_table) {
2388 struct trace_t trace = {NULL, "parser::ReduceAction0::init (src/parser//parser.nit:781,1--4)"};
2389 trace.prev = tracehead; tracehead = &trace;
2390 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction0].i]) return;
2391 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction0].i] = 1;
2392 tracehead = trace.prev;
2393 return;
2394 }
2395 void parser___ReduceAction1___action(val_t self, val_t param0) {
2396 struct trace_t trace = {NULL, "parser::ReduceAction1::action (src/parser//parser.nit:785,2--799:33)"};
2397 val_t variable0;
2398 val_t variable1;
2399 val_t variable2;
2400 val_t variable3;
2401 val_t variable4;
2402 val_t variable5;
2403 val_t variable6;
2404 val_t variable7;
2405 trace.prev = tracehead; tracehead = &trace;
2406 variable0 = param0;
2407 variable1 = NIT_NULL /*null*/;
2408 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2409 variable2 = variable3;
2410 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
2411 variable3 = variable4;
2412 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
2413 variable4 = variable5;
2414 variable5 = variable2 /*nodearraylist1*/;
2415 variable6 = TAG_Bool(( variable5 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable5 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2416 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:792,6--46\n"); nit_exit(1);}
2417 variable7 = NEW_parser_prod___AModule___init_amodule( variable5 /*ppackagedeclnode2*/, variable3 /*listnode3*/, variable4 /*listnode4*/); /*new AModule*/
2418 variable6 = variable7;
2419 variable1 = variable6 /*pmodulenode1*/ /*node_list=*/;
2420 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2421 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
2422 tracehead = trace.prev;
2423 return;
2424 }
2425 void parser___ReduceAction1___init(val_t self, int* init_table) {
2426 struct trace_t trace = {NULL, "parser::ReduceAction1::init (src/parser//parser.nit:801,1--4)"};
2427 trace.prev = tracehead; tracehead = &trace;
2428 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction1].i]) return;
2429 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction1].i] = 1;
2430 tracehead = trace.prev;
2431 return;
2432 }
2433 void parser___ReduceAction2___action(val_t self, val_t param0) {
2434 struct trace_t trace = {NULL, "parser::ReduceAction2::action (src/parser//parser.nit:805,2--826:33)"};
2435 val_t variable0;
2436 val_t variable1;
2437 val_t variable2;
2438 val_t variable3;
2439 val_t variable4;
2440 val_t variable5;
2441 val_t variable6;
2442 val_t variable7;
2443 trace.prev = tracehead; tracehead = &trace;
2444 variable0 = param0;
2445 variable1 = NIT_NULL /*null*/;
2446 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2447 variable2 = variable3;
2448 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
2449 variable3 = variable4;
2450 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
2451 variable4 = variable5;
2452 variable5 = variable2 /*nodearraylist1*/;
2453 variable6 = TAG_Bool(( variable5 /*listnode3*/==NIT_NULL) || VAL_ISA( variable5 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2454 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:812,6--38\n"); nit_exit(1);}
2455 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode3*/ == NIT_NULL /*null*/) || (( variable5 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
2456 if (UNTAG_Bool(variable6)) { /*if*/
2457 variable6 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode4*/) /*Array::is_empty*/;
2458 if (UNTAG_Bool(variable6)) { /*if*/
2459 variable3 = variable5 /*listnode3*/ /*listnode4=*/;
2460 } else { /*if*/
2461 ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode4*/, variable5 /*listnode3*/) /*Array::append*/;
2462 }
2463 }
2464 variable7 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable3 /*listnode4*/, variable4 /*listnode5*/); /*new AModule*/
2465 variable6 = variable7;
2466 variable1 = variable6 /*pmodulenode1*/ /*node_list=*/;
2467 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2468 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
2469 tracehead = trace.prev;
2470 return;
2471 }
2472 void parser___ReduceAction2___init(val_t self, int* init_table) {
2473 struct trace_t trace = {NULL, "parser::ReduceAction2::init (src/parser//parser.nit:828,1--4)"};
2474 trace.prev = tracehead; tracehead = &trace;
2475 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction2].i]) return;
2476 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction2].i] = 1;
2477 tracehead = trace.prev;
2478 return;
2479 }
2480 void parser___ReduceAction3___action(val_t self, val_t param0) {
2481 struct trace_t trace = {NULL, "parser::ReduceAction3::action (src/parser//parser.nit:832,2--856:33)"};
2482 val_t variable0;
2483 val_t variable1;
2484 val_t variable2;
2485 val_t variable3;
2486 val_t variable4;
2487 val_t variable5;
2488 val_t variable6;
2489 val_t variable7;
2490 val_t variable8;
2491 val_t variable9;
2492 trace.prev = tracehead; tracehead = &trace;
2493 variable0 = param0;
2494 variable1 = NIT_NULL /*null*/;
2495 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2496 variable2 = variable3;
2497 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2498 variable3 = variable4;
2499 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
2500 variable4 = variable5;
2501 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
2502 variable5 = variable6;
2503 variable6 = variable3 /*nodearraylist1*/;
2504 variable7 = TAG_Bool(( variable6 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2505 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:840,6--46\n"); nit_exit(1);}
2506 variable7 = variable2 /*nodearraylist2*/;
2507 variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2508 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:842,6--38\n"); nit_exit(1);}
2509 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ == NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
2510 if (UNTAG_Bool(variable8)) { /*if*/
2511 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/;
2512 if (UNTAG_Bool(variable8)) { /*if*/
2513 variable4 = variable7 /*listnode3*/ /*listnode4=*/;
2514 } else { /*if*/
2515 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/, variable7 /*listnode3*/) /*Array::append*/;
2516 }
2517 }
2518 variable9 = NEW_parser_prod___AModule___init_amodule( variable6 /*ppackagedeclnode2*/, variable4 /*listnode4*/, variable5 /*listnode5*/); /*new AModule*/
2519 variable8 = variable9;
2520 variable1 = variable8 /*pmodulenode1*/ /*node_list=*/;
2521 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2522 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
2523 tracehead = trace.prev;
2524 return;
2525 }
2526 void parser___ReduceAction3___init(val_t self, int* init_table) {
2527 struct trace_t trace = {NULL, "parser::ReduceAction3::init (src/parser//parser.nit:858,1--4)"};
2528 trace.prev = tracehead; tracehead = &trace;
2529 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction3].i]) return;
2530 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction3].i] = 1;
2531 tracehead = trace.prev;
2532 return;
2533 }
2534 void parser___ReduceAction4___action(val_t self, val_t param0) {
2535 struct trace_t trace = {NULL, "parser::ReduceAction4::action (src/parser//parser.nit:862,2--883:33)"};
2536 val_t variable0;
2537 val_t variable1;
2538 val_t variable2;
2539 val_t variable3;
2540 val_t variable4;
2541 val_t variable5;
2542 val_t variable6;
2543 val_t variable7;
2544 trace.prev = tracehead; tracehead = &trace;
2545 variable0 = param0;
2546 variable1 = NIT_NULL /*null*/;
2547 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2548 variable2 = variable3;
2549 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
2550 variable3 = variable4;
2551 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
2552 variable4 = variable5;
2553 variable5 = variable2 /*nodearraylist1*/;
2554 variable6 = TAG_Bool(( variable5 /*listnode4*/==NIT_NULL) || VAL_ISA( variable5 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2555 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:869,6--38\n"); nit_exit(1);}
2556 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode4*/ == NIT_NULL /*null*/) || (( variable5 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
2557 if (UNTAG_Bool(variable6)) { /*if*/
2558 variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
2559 if (UNTAG_Bool(variable6)) { /*if*/
2560 variable4 = variable5 /*listnode4*/ /*listnode5=*/;
2561 } else { /*if*/
2562 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable5 /*listnode4*/) /*Array::append*/;
2563 }
2564 }
2565 variable7 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable3 /*listnode3*/, variable4 /*listnode5*/); /*new AModule*/
2566 variable6 = variable7;
2567 variable1 = variable6 /*pmodulenode1*/ /*node_list=*/;
2568 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2569 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
2570 tracehead = trace.prev;
2571 return;
2572 }
2573 void parser___ReduceAction4___init(val_t self, int* init_table) {
2574 struct trace_t trace = {NULL, "parser::ReduceAction4::init (src/parser//parser.nit:885,1--4)"};
2575 trace.prev = tracehead; tracehead = &trace;
2576 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction4].i]) return;
2577 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction4].i] = 1;
2578 tracehead = trace.prev;
2579 return;
2580 }
2581 void parser___ReduceAction5___action(val_t self, val_t param0) {
2582 struct trace_t trace = {NULL, "parser::ReduceAction5::action (src/parser//parser.nit:889,2--913:33)"};
2583 val_t variable0;
2584 val_t variable1;
2585 val_t variable2;
2586 val_t variable3;
2587 val_t variable4;
2588 val_t variable5;
2589 val_t variable6;
2590 val_t variable7;
2591 val_t variable8;
2592 val_t variable9;
2593 trace.prev = tracehead; tracehead = &trace;
2594 variable0 = param0;
2595 variable1 = NIT_NULL /*null*/;
2596 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2597 variable2 = variable3;
2598 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2599 variable3 = variable4;
2600 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
2601 variable4 = variable5;
2602 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
2603 variable5 = variable6;
2604 variable6 = variable3 /*nodearraylist1*/;
2605 variable7 = TAG_Bool(( variable6 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2606 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:897,6--46\n"); nit_exit(1);}
2607 variable7 = variable2 /*nodearraylist2*/;
2608 variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2609 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:899,6--38\n"); nit_exit(1);}
2610 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
2611 if (UNTAG_Bool(variable8)) { /*if*/
2612 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
2613 if (UNTAG_Bool(variable8)) { /*if*/
2614 variable5 = variable7 /*listnode4*/ /*listnode5=*/;
2615 } else { /*if*/
2616 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/;
2617 }
2618 }
2619 variable9 = NEW_parser_prod___AModule___init_amodule( variable6 /*ppackagedeclnode2*/, variable4 /*listnode3*/, variable5 /*listnode5*/); /*new AModule*/
2620 variable8 = variable9;
2621 variable1 = variable8 /*pmodulenode1*/ /*node_list=*/;
2622 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2623 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
2624 tracehead = trace.prev;
2625 return;
2626 }
2627 void parser___ReduceAction5___init(val_t self, int* init_table) {
2628 struct trace_t trace = {NULL, "parser::ReduceAction5::init (src/parser//parser.nit:915,1--4)"};
2629 trace.prev = tracehead; tracehead = &trace;
2630 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction5].i]) return;
2631 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction5].i] = 1;
2632 tracehead = trace.prev;
2633 return;
2634 }
2635 void parser___ReduceAction6___action(val_t self, val_t param0) {
2636 struct trace_t trace = {NULL, "parser::ReduceAction6::action (src/parser//parser.nit:919,2--950:33)"};
2637 val_t variable0;
2638 val_t variable1;
2639 val_t variable2;
2640 val_t variable3;
2641 val_t variable4;
2642 val_t variable5;
2643 val_t variable6;
2644 val_t variable7;
2645 val_t variable8;
2646 val_t variable9;
2647 trace.prev = tracehead; tracehead = &trace;
2648 variable0 = param0;
2649 variable1 = NIT_NULL /*null*/;
2650 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2651 variable2 = variable3;
2652 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2653 variable3 = variable4;
2654 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
2655 variable4 = variable5;
2656 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
2657 variable5 = variable6;
2658 variable6 = variable3 /*nodearraylist1*/;
2659 variable7 = TAG_Bool(( variable6 /*listnode3*/==NIT_NULL) || VAL_ISA( variable6 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2660 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:927,6--38\n"); nit_exit(1);}
2661 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode3*/ == NIT_NULL /*null*/) || (( variable6 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
2662 if (UNTAG_Bool(variable7)) { /*if*/
2663 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/;
2664 if (UNTAG_Bool(variable7)) { /*if*/
2665 variable4 = variable6 /*listnode3*/ /*listnode4=*/;
2666 } else { /*if*/
2667 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/, variable6 /*listnode3*/) /*Array::append*/;
2668 }
2669 }
2670 variable7 = variable2 /*nodearraylist2*/;
2671 variable8 = TAG_Bool(( variable7 /*listnode5*/==NIT_NULL) || VAL_ISA( variable7 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2672 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:936,6--38\n"); nit_exit(1);}
2673 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode5*/ == NIT_NULL /*null*/) || (( variable7 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
2674 if (UNTAG_Bool(variable8)) { /*if*/
2675 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode6*/) /*Array::is_empty*/;
2676 if (UNTAG_Bool(variable8)) { /*if*/
2677 variable5 = variable7 /*listnode5*/ /*listnode6=*/;
2678 } else { /*if*/
2679 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode6*/, variable7 /*listnode5*/) /*Array::append*/;
2680 }
2681 }
2682 variable9 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable4 /*listnode4*/, variable5 /*listnode6*/); /*new AModule*/
2683 variable8 = variable9;
2684 variable1 = variable8 /*pmodulenode1*/ /*node_list=*/;
2685 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2686 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
2687 tracehead = trace.prev;
2688 return;
2689 }
2690 void parser___ReduceAction6___init(val_t self, int* init_table) {
2691 struct trace_t trace = {NULL, "parser::ReduceAction6::init (src/parser//parser.nit:952,1--4)"};
2692 trace.prev = tracehead; tracehead = &trace;
2693 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction6].i]) return;
2694 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction6].i] = 1;
2695 tracehead = trace.prev;
2696 return;
2697 }
2698 void parser___ReduceAction7___action(val_t self, val_t param0) {
2699 struct trace_t trace = {NULL, "parser::ReduceAction7::action (src/parser//parser.nit:956,2--990:33)"};
2700 val_t variable0;
2701 val_t variable1;
2702 val_t variable2;
2703 val_t variable3;
2704 val_t variable4;
2705 val_t variable5;
2706 val_t variable6;
2707 val_t variable7;
2708 val_t variable8;
2709 val_t variable9;
2710 val_t variable10;
2711 val_t variable11;
2712 trace.prev = tracehead; tracehead = &trace;
2713 variable0 = param0;
2714 variable1 = NIT_NULL /*null*/;
2715 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2716 variable2 = variable3;
2717 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2718 variable3 = variable4;
2719 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2720 variable4 = variable5;
2721 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
2722 variable5 = variable6;
2723 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
2724 variable6 = variable7;
2725 variable7 = variable4 /*nodearraylist1*/;
2726 variable8 = TAG_Bool(( variable7 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable7 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2727 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:965,6--46\n"); nit_exit(1);}
2728 variable8 = variable3 /*nodearraylist2*/;
2729 variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2730 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:967,6--38\n"); nit_exit(1);}
2731 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
2732 if (UNTAG_Bool(variable9)) { /*if*/
2733 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*Array::is_empty*/;
2734 if (UNTAG_Bool(variable9)) { /*if*/
2735 variable5 = variable8 /*listnode3*/ /*listnode4=*/;
2736 } else { /*if*/
2737 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/;
2738 }
2739 }
2740 variable9 = variable2 /*nodearraylist3*/;
2741 variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2742 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:976,6--38\n"); nit_exit(1);}
2743 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ == NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
2744 if (UNTAG_Bool(variable10)) { /*if*/
2745 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
2746 if (UNTAG_Bool(variable10)) { /*if*/
2747 variable6 = variable9 /*listnode5*/ /*listnode6=*/;
2748 } else { /*if*/
2749 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable9 /*listnode5*/) /*Array::append*/;
2750 }
2751 }
2752 variable11 = NEW_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/, variable5 /*listnode4*/, variable6 /*listnode6*/); /*new AModule*/
2753 variable10 = variable11;
2754 variable1 = variable10 /*pmodulenode1*/ /*node_list=*/;
2755 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2756 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
2757 tracehead = trace.prev;
2758 return;
2759 }
2760 void parser___ReduceAction7___init(val_t self, int* init_table) {
2761 struct trace_t trace = {NULL, "parser::ReduceAction7::init (src/parser//parser.nit:992,1--4)"};
2762 trace.prev = tracehead; tracehead = &trace;
2763 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction7].i]) return;
2764 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction7].i] = 1;
2765 tracehead = trace.prev;
2766 return;
2767 }
2768 void parser___ReduceAction8___action(val_t self, val_t param0) {
2769 struct trace_t trace = {NULL, "parser::ReduceAction8::action (src/parser//parser.nit:996,2--1021:33)"};
2770 val_t variable0;
2771 val_t variable1;
2772 val_t variable2;
2773 val_t variable3;
2774 val_t variable4;
2775 val_t variable5;
2776 val_t variable6;
2777 val_t variable7;
2778 val_t variable8;
2779 val_t variable9;
2780 val_t variable10;
2781 trace.prev = tracehead; tracehead = &trace;
2782 variable0 = param0;
2783 variable1 = NIT_NULL /*null*/;
2784 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2785 variable2 = variable3;
2786 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2787 variable3 = variable4;
2788 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
2789 variable4 = variable5;
2790 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
2791 variable5 = variable6;
2792 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
2793 variable6 = variable7;
2794 variable7 = variable3 /*nodearraylist1*/;
2795 variable8 = TAG_Bool(( variable7 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable7 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2796 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1005,6--38\n"); nit_exit(1);}
2797 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable7 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
2798 if (UNTAG_Bool(variable8)) { /*if*/
2799 ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/, variable7 /*ppropdefnode5*/) /*Array::add*/;
2800 }
2801 variable9 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable6 /*listnode6*/); /*new ATopClassdef*/
2802 variable8 = variable9;
2803 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable8 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
2804 if (UNTAG_Bool(variable9)) { /*if*/
2805 ((array___AbstractArray___add_t)CALL( variable5 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode7*/, variable8 /*pclassdefnode4*/) /*Array::add*/;
2806 }
2807 variable10 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable4 /*listnode3*/, variable5 /*listnode7*/); /*new AModule*/
2808 variable9 = variable10;
2809 variable1 = variable9 /*pmodulenode1*/ /*node_list=*/;
2810 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2811 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
2812 tracehead = trace.prev;
2813 return;
2814 }
2815 void parser___ReduceAction8___init(val_t self, int* init_table) {
2816 struct trace_t trace = {NULL, "parser::ReduceAction8::init (src/parser//parser.nit:1023,1--4)"};
2817 trace.prev = tracehead; tracehead = &trace;
2818 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction8].i]) return;
2819 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction8].i] = 1;
2820 tracehead = trace.prev;
2821 return;
2822 }
2823 void parser___ReduceAction9___action(val_t self, val_t param0) {
2824 struct trace_t trace = {NULL, "parser::ReduceAction9::action (src/parser//parser.nit:1027,2--1062:33)"};
2825 val_t variable0;
2826 val_t variable1;
2827 val_t variable2;
2828 val_t variable3;
2829 val_t variable4;
2830 val_t variable5;
2831 val_t variable6;
2832 val_t variable7;
2833 val_t variable8;
2834 val_t variable9;
2835 val_t variable10;
2836 val_t variable11;
2837 val_t variable12;
2838 trace.prev = tracehead; tracehead = &trace;
2839 variable0 = param0;
2840 variable1 = NIT_NULL /*null*/;
2841 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2842 variable2 = variable3;
2843 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2844 variable3 = variable4;
2845 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2846 variable4 = variable5;
2847 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
2848 variable5 = variable6;
2849 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
2850 variable6 = variable7;
2851 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
2852 variable7 = variable8;
2853 variable8 = variable4 /*nodearraylist1*/;
2854 variable9 = TAG_Bool(( variable8 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable8 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2855 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1037,6--38\n"); nit_exit(1);}
2856 variable9 = variable2 /*nodearraylist3*/;
2857 variable10 = TAG_Bool(( variable9 /*listnode6*/==NIT_NULL) || VAL_ISA( variable9 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2858 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1039,6--38\n"); nit_exit(1);}
2859 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable8 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
2860 if (UNTAG_Bool(variable10)) { /*if*/
2861 ((array___AbstractArray___add_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode7*/, variable8 /*ppropdefnode5*/) /*Array::add*/;
2862 }
2863 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode6*/ == NIT_NULL /*null*/) || (( variable9 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode6*/, NIT_NULL /*null*/) /*Array::==*/)))));
2864 if (UNTAG_Bool(variable10)) { /*if*/
2865 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode7*/) /*Array::is_empty*/;
2866 if (UNTAG_Bool(variable10)) { /*if*/
2867 variable7 = variable9 /*listnode6*/ /*listnode7=*/;
2868 } else { /*if*/
2869 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode7*/, variable9 /*listnode6*/) /*Array::append*/;
2870 }
2871 }
2872 variable11 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable7 /*listnode7*/); /*new ATopClassdef*/
2873 variable10 = variable11;
2874 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable10 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
2875 if (UNTAG_Bool(variable11)) { /*if*/
2876 ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/, variable10 /*pclassdefnode4*/) /*Array::add*/;
2877 }
2878 variable12 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable5 /*listnode3*/, variable6 /*listnode8*/); /*new AModule*/
2879 variable11 = variable12;
2880 variable1 = variable11 /*pmodulenode1*/ /*node_list=*/;
2881 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2882 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
2883 tracehead = trace.prev;
2884 return;
2885 }
2886 void parser___ReduceAction9___init(val_t self, int* init_table) {
2887 struct trace_t trace = {NULL, "parser::ReduceAction9::init (src/parser//parser.nit:1064,1--4)"};
2888 trace.prev = tracehead; tracehead = &trace;
2889 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction9].i]) return;
2890 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction9].i] = 1;
2891 tracehead = trace.prev;
2892 return;
2893 }
2894 void parser___ReduceAction10___action(val_t self, val_t param0) {
2895 struct trace_t trace = {NULL, "parser::ReduceAction10::action (src/parser//parser.nit:1068,2--1096:33)"};
2896 val_t variable0;
2897 val_t variable1;
2898 val_t variable2;
2899 val_t variable3;
2900 val_t variable4;
2901 val_t variable5;
2902 val_t variable6;
2903 val_t variable7;
2904 val_t variable8;
2905 val_t variable9;
2906 val_t variable10;
2907 val_t variable11;
2908 val_t variable12;
2909 trace.prev = tracehead; tracehead = &trace;
2910 variable0 = param0;
2911 variable1 = NIT_NULL /*null*/;
2912 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2913 variable2 = variable3;
2914 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2915 variable3 = variable4;
2916 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2917 variable4 = variable5;
2918 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
2919 variable5 = variable6;
2920 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
2921 variable6 = variable7;
2922 variable7 = variable4 /*nodearraylist1*/;
2923 variable8 = TAG_Bool(( variable7 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable7 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2924 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1077,6--46\n"); nit_exit(1);}
2925 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
2926 variable8 = variable9;
2927 variable9 = variable3 /*nodearraylist2*/;
2928 variable10 = TAG_Bool(( variable9 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2929 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1080,6--38\n"); nit_exit(1);}
2930 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable9 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
2931 if (UNTAG_Bool(variable10)) { /*if*/
2932 ((array___AbstractArray___add_t)CALL( variable8 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode6*/, variable9 /*ppropdefnode5*/) /*Array::add*/;
2933 }
2934 variable11 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode6*/); /*new ATopClassdef*/
2935 variable10 = variable11;
2936 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable10 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
2937 if (UNTAG_Bool(variable11)) { /*if*/
2938 ((array___AbstractArray___add_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode7*/, variable10 /*pclassdefnode4*/) /*Array::add*/;
2939 }
2940 variable12 = NEW_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/, variable5 /*listnode3*/, variable6 /*listnode7*/); /*new AModule*/
2941 variable11 = variable12;
2942 variable1 = variable11 /*pmodulenode1*/ /*node_list=*/;
2943 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
2944 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
2945 tracehead = trace.prev;
2946 return;
2947 }
2948 void parser___ReduceAction10___init(val_t self, int* init_table) {
2949 struct trace_t trace = {NULL, "parser::ReduceAction10::init (src/parser//parser.nit:1098,1--4)"};
2950 trace.prev = tracehead; tracehead = &trace;
2951 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction10].i]) return;
2952 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction10].i] = 1;
2953 tracehead = trace.prev;
2954 return;
2955 }
2956 void parser___ReduceAction11___action(val_t self, val_t param0) {
2957 struct trace_t trace = {NULL, "parser::ReduceAction11::action (src/parser//parser.nit:1102,2--1140:33)"};
2958 val_t variable0;
2959 val_t variable1;
2960 val_t variable2;
2961 val_t variable3;
2962 val_t variable4;
2963 val_t variable5;
2964 val_t variable6;
2965 val_t variable7;
2966 val_t variable8;
2967 val_t variable9;
2968 val_t variable10;
2969 val_t variable11;
2970 val_t variable12;
2971 val_t variable13;
2972 val_t variable14;
2973 trace.prev = tracehead; tracehead = &trace;
2974 variable0 = param0;
2975 variable1 = NIT_NULL /*null*/;
2976 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2977 variable2 = variable3;
2978 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2979 variable3 = variable4;
2980 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2981 variable4 = variable5;
2982 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
2983 variable5 = variable6;
2984 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
2985 variable6 = variable7;
2986 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
2987 variable7 = variable8;
2988 variable8 = variable5 /*nodearraylist1*/;
2989 variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
2990 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1112,6--46\n"); nit_exit(1);}
2991 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
2992 variable9 = variable10;
2993 variable10 = variable4 /*nodearraylist2*/;
2994 variable11 = TAG_Bool(( variable10 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
2995 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1115,6--38\n"); nit_exit(1);}
2996 variable11 = variable2 /*nodearraylist4*/;
2997 variable12 = TAG_Bool(( variable11 /*listnode6*/==NIT_NULL) || VAL_ISA( variable11 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
2998 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1117,6--38\n"); nit_exit(1);}
2999 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable10 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
3000 if (UNTAG_Bool(variable12)) { /*if*/
3001 ((array___AbstractArray___add_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode7*/, variable10 /*ppropdefnode5*/) /*Array::add*/;
3002 }
3003 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode6*/ == NIT_NULL /*null*/) || (( variable11 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode6*/, NIT_NULL /*null*/) /*Array::==*/)))));
3004 if (UNTAG_Bool(variable12)) { /*if*/
3005 variable12 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode7*/) /*Array::is_empty*/;
3006 if (UNTAG_Bool(variable12)) { /*if*/
3007 variable9 = variable11 /*listnode6*/ /*listnode7=*/;
3008 } else { /*if*/
3009 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode7*/, variable11 /*listnode6*/) /*Array::append*/;
3010 }
3011 }
3012 variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode7*/); /*new ATopClassdef*/
3013 variable12 = variable13;
3014 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
3015 if (UNTAG_Bool(variable13)) { /*if*/
3016 ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/, variable12 /*pclassdefnode4*/) /*Array::add*/;
3017 }
3018 variable14 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/, variable6 /*listnode3*/, variable7 /*listnode8*/); /*new AModule*/
3019 variable13 = variable14;
3020 variable1 = variable13 /*pmodulenode1*/ /*node_list=*/;
3021 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3022 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
3023 tracehead = trace.prev;
3024 return;
3025 }
3026 void parser___ReduceAction11___init(val_t self, int* init_table) {
3027 struct trace_t trace = {NULL, "parser::ReduceAction11::init (src/parser//parser.nit:1142,1--4)"};
3028 trace.prev = tracehead; tracehead = &trace;
3029 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction11].i]) return;
3030 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction11].i] = 1;
3031 tracehead = trace.prev;
3032 return;
3033 }
3034 void parser___ReduceAction12___action(val_t self, val_t param0) {
3035 struct trace_t trace = {NULL, "parser::ReduceAction12::action (src/parser//parser.nit:1146,2--1181:33)"};
3036 val_t variable0;
3037 val_t variable1;
3038 val_t variable2;
3039 val_t variable3;
3040 val_t variable4;
3041 val_t variable5;
3042 val_t variable6;
3043 val_t variable7;
3044 val_t variable8;
3045 val_t variable9;
3046 val_t variable10;
3047 val_t variable11;
3048 val_t variable12;
3049 trace.prev = tracehead; tracehead = &trace;
3050 variable0 = param0;
3051 variable1 = NIT_NULL /*null*/;
3052 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3053 variable2 = variable3;
3054 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3055 variable3 = variable4;
3056 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3057 variable4 = variable5;
3058 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
3059 variable5 = variable6;
3060 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
3061 variable6 = variable7;
3062 variable7 = variable4 /*nodearraylist1*/;
3063 variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3064 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1155,6--38\n"); nit_exit(1);}
3065 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ == NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
3066 if (UNTAG_Bool(variable8)) { /*if*/
3067 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*Array::is_empty*/;
3068 if (UNTAG_Bool(variable8)) { /*if*/
3069 variable5 = variable7 /*listnode3*/ /*listnode4=*/;
3070 } else { /*if*/
3071 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/, variable7 /*listnode3*/) /*Array::append*/;
3072 }
3073 }
3074 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
3075 variable8 = variable9;
3076 variable9 = variable3 /*nodearraylist2*/;
3077 variable10 = TAG_Bool(( variable9 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3078 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1165,6--38\n"); nit_exit(1);}
3079 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable9 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
3080 if (UNTAG_Bool(variable10)) { /*if*/
3081 ((array___AbstractArray___add_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode7*/, variable9 /*ppropdefnode6*/) /*Array::add*/;
3082 }
3083 variable11 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode7*/); /*new ATopClassdef*/
3084 variable10 = variable11;
3085 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable10 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
3086 if (UNTAG_Bool(variable11)) { /*if*/
3087 ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/, variable10 /*pclassdefnode5*/) /*Array::add*/;
3088 }
3089 variable12 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable5 /*listnode4*/, variable6 /*listnode8*/); /*new AModule*/
3090 variable11 = variable12;
3091 variable1 = variable11 /*pmodulenode1*/ /*node_list=*/;
3092 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3093 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
3094 tracehead = trace.prev;
3095 return;
3096 }
3097 void parser___ReduceAction12___init(val_t self, int* init_table) {
3098 struct trace_t trace = {NULL, "parser::ReduceAction12::init (src/parser//parser.nit:1183,1--4)"};
3099 trace.prev = tracehead; tracehead = &trace;
3100 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction12].i]) return;
3101 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction12].i] = 1;
3102 tracehead = trace.prev;
3103 return;
3104 }
3105 void parser___ReduceAction13___action(val_t self, val_t param0) {
3106 struct trace_t trace = {NULL, "parser::ReduceAction13::action (src/parser//parser.nit:1187,2--1232:33)"};
3107 val_t variable0;
3108 val_t variable1;
3109 val_t variable2;
3110 val_t variable3;
3111 val_t variable4;
3112 val_t variable5;
3113 val_t variable6;
3114 val_t variable7;
3115 val_t variable8;
3116 val_t variable9;
3117 val_t variable10;
3118 val_t variable11;
3119 val_t variable12;
3120 val_t variable13;
3121 val_t variable14;
3122 trace.prev = tracehead; tracehead = &trace;
3123 variable0 = param0;
3124 variable1 = NIT_NULL /*null*/;
3125 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3126 variable2 = variable3;
3127 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3128 variable3 = variable4;
3129 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3130 variable4 = variable5;
3131 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3132 variable5 = variable6;
3133 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
3134 variable6 = variable7;
3135 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
3136 variable7 = variable8;
3137 variable8 = variable5 /*nodearraylist1*/;
3138 variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3139 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1197,6--38\n"); nit_exit(1);}
3140 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
3141 if (UNTAG_Bool(variable9)) { /*if*/
3142 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
3143 if (UNTAG_Bool(variable9)) { /*if*/
3144 variable6 = variable8 /*listnode3*/ /*listnode4=*/;
3145 } else { /*if*/
3146 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/;
3147 }
3148 }
3149 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
3150 variable9 = variable10;
3151 variable10 = variable4 /*nodearraylist2*/;
3152 variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3153 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1207,6--38\n"); nit_exit(1);}
3154 variable11 = variable2 /*nodearraylist4*/;
3155 variable12 = TAG_Bool(( variable11 /*listnode7*/==NIT_NULL) || VAL_ISA( variable11 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3156 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1209,6--38\n"); nit_exit(1);}
3157 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
3158 if (UNTAG_Bool(variable12)) { /*if*/
3159 ((array___AbstractArray___add_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode8*/, variable10 /*ppropdefnode6*/) /*Array::add*/;
3160 }
3161 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode7*/ == NIT_NULL /*null*/) || (( variable11 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
3162 if (UNTAG_Bool(variable12)) { /*if*/
3163 variable12 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode8*/) /*Array::is_empty*/;
3164 if (UNTAG_Bool(variable12)) { /*if*/
3165 variable9 = variable11 /*listnode7*/ /*listnode8=*/;
3166 } else { /*if*/
3167 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode8*/, variable11 /*listnode7*/) /*Array::append*/;
3168 }
3169 }
3170 variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode8*/); /*new ATopClassdef*/
3171 variable12 = variable13;
3172 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
3173 if (UNTAG_Bool(variable13)) { /*if*/
3174 ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable12 /*pclassdefnode5*/) /*Array::add*/;
3175 }
3176 variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable6 /*listnode4*/, variable7 /*listnode9*/); /*new AModule*/
3177 variable13 = variable14;
3178 variable1 = variable13 /*pmodulenode1*/ /*node_list=*/;
3179 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3180 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
3181 tracehead = trace.prev;
3182 return;
3183 }
3184 void parser___ReduceAction13___init(val_t self, int* init_table) {
3185 struct trace_t trace = {NULL, "parser::ReduceAction13::init (src/parser//parser.nit:1234,1--4)"};
3186 trace.prev = tracehead; tracehead = &trace;
3187 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction13].i]) return;
3188 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction13].i] = 1;
3189 tracehead = trace.prev;
3190 return;
3191 }
3192 void parser___ReduceAction14___action(val_t self, val_t param0) {
3193 struct trace_t trace = {NULL, "parser::ReduceAction14::action (src/parser//parser.nit:1238,2--1276:33)"};
3194 val_t variable0;
3195 val_t variable1;
3196 val_t variable2;
3197 val_t variable3;
3198 val_t variable4;
3199 val_t variable5;
3200 val_t variable6;
3201 val_t variable7;
3202 val_t variable8;
3203 val_t variable9;
3204 val_t variable10;
3205 val_t variable11;
3206 val_t variable12;
3207 val_t variable13;
3208 val_t variable14;
3209 trace.prev = tracehead; tracehead = &trace;
3210 variable0 = param0;
3211 variable1 = NIT_NULL /*null*/;
3212 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3213 variable2 = variable3;
3214 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3215 variable3 = variable4;
3216 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3217 variable4 = variable5;
3218 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3219 variable5 = variable6;
3220 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
3221 variable6 = variable7;
3222 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
3223 variable7 = variable8;
3224 variable8 = variable5 /*nodearraylist1*/;
3225 variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3226 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1248,6--46\n"); nit_exit(1);}
3227 variable9 = variable4 /*nodearraylist2*/;
3228 variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3229 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1250,6--38\n"); nit_exit(1);}
3230 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
3231 if (UNTAG_Bool(variable10)) { /*if*/
3232 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
3233 if (UNTAG_Bool(variable10)) { /*if*/
3234 variable6 = variable9 /*listnode3*/ /*listnode4=*/;
3235 } else { /*if*/
3236 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/;
3237 }
3238 }
3239 variable11 = NEW_array___Array___init(); /*new Array[Object]*/
3240 variable10 = variable11;
3241 variable11 = variable3 /*nodearraylist3*/;
3242 variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3243 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1260,6--38\n"); nit_exit(1);}
3244 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
3245 if (UNTAG_Bool(variable12)) { /*if*/
3246 ((array___AbstractArray___add_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode7*/, variable11 /*ppropdefnode6*/) /*Array::add*/;
3247 }
3248 variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode7*/); /*new ATopClassdef*/
3249 variable12 = variable13;
3250 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
3251 if (UNTAG_Bool(variable13)) { /*if*/
3252 ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/, variable12 /*pclassdefnode5*/) /*Array::add*/;
3253 }
3254 variable14 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/, variable6 /*listnode4*/, variable7 /*listnode8*/); /*new AModule*/
3255 variable13 = variable14;
3256 variable1 = variable13 /*pmodulenode1*/ /*node_list=*/;
3257 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3258 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
3259 tracehead = trace.prev;
3260 return;
3261 }
3262 void parser___ReduceAction14___init(val_t self, int* init_table) {
3263 struct trace_t trace = {NULL, "parser::ReduceAction14::init (src/parser//parser.nit:1278,1--4)"};
3264 trace.prev = tracehead; tracehead = &trace;
3265 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction14].i]) return;
3266 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction14].i] = 1;
3267 tracehead = trace.prev;
3268 return;
3269 }
3270 void parser___ReduceAction15___action(val_t self, val_t param0) {
3271 struct trace_t trace = {NULL, "parser::ReduceAction15::action (src/parser//parser.nit:1282,2--1330:33)"};
3272 val_t variable0;
3273 val_t variable1;
3274 val_t variable2;
3275 val_t variable3;
3276 val_t variable4;
3277 val_t variable5;
3278 val_t variable6;
3279 val_t variable7;
3280 val_t variable8;
3281 val_t variable9;
3282 val_t variable10;
3283 val_t variable11;
3284 val_t variable12;
3285 val_t variable13;
3286 val_t variable14;
3287 val_t variable15;
3288 val_t variable16;
3289 trace.prev = tracehead; tracehead = &trace;
3290 variable0 = param0;
3291 variable1 = NIT_NULL /*null*/;
3292 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3293 variable2 = variable3;
3294 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3295 variable3 = variable4;
3296 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3297 variable4 = variable5;
3298 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3299 variable5 = variable6;
3300 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3301 variable6 = variable7;
3302 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
3303 variable7 = variable8;
3304 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
3305 variable8 = variable9;
3306 variable9 = variable6 /*nodearraylist1*/;
3307 variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3308 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1293,6--46\n"); nit_exit(1);}
3309 variable10 = variable5 /*nodearraylist2*/;
3310 variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3311 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1295,6--38\n"); nit_exit(1);}
3312 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ == NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
3313 if (UNTAG_Bool(variable11)) { /*if*/
3314 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
3315 if (UNTAG_Bool(variable11)) { /*if*/
3316 variable7 = variable10 /*listnode3*/ /*listnode4=*/;
3317 } else { /*if*/
3318 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable10 /*listnode3*/) /*Array::append*/;
3319 }
3320 }
3321 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
3322 variable11 = variable12;
3323 variable12 = variable4 /*nodearraylist3*/;
3324 variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3325 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1305,6--38\n"); nit_exit(1);}
3326 variable13 = variable2 /*nodearraylist5*/;
3327 variable14 = TAG_Bool(( variable13 /*listnode7*/==NIT_NULL) || VAL_ISA( variable13 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3328 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1307,6--38\n"); nit_exit(1);}
3329 variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
3330 if (UNTAG_Bool(variable14)) { /*if*/
3331 ((array___AbstractArray___add_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode8*/, variable12 /*ppropdefnode6*/) /*Array::add*/;
3332 }
3333 variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode7*/ == NIT_NULL /*null*/) || (( variable13 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
3334 if (UNTAG_Bool(variable14)) { /*if*/
3335 variable14 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*Array::is_empty*/;
3336 if (UNTAG_Bool(variable14)) { /*if*/
3337 variable11 = variable13 /*listnode7*/ /*listnode8=*/;
3338 } else { /*if*/
3339 ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/, variable13 /*listnode7*/) /*Array::append*/;
3340 }
3341 }
3342 variable15 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode8*/); /*new ATopClassdef*/
3343 variable14 = variable15;
3344 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
3345 if (UNTAG_Bool(variable15)) { /*if*/
3346 ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable14 /*pclassdefnode5*/) /*Array::add*/;
3347 }
3348 variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/, variable7 /*listnode4*/, variable8 /*listnode9*/); /*new AModule*/
3349 variable15 = variable16;
3350 variable1 = variable15 /*pmodulenode1*/ /*node_list=*/;
3351 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3352 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
3353 tracehead = trace.prev;
3354 return;
3355 }
3356 void parser___ReduceAction15___init(val_t self, int* init_table) {
3357 struct trace_t trace = {NULL, "parser::ReduceAction15::init (src/parser//parser.nit:1332,1--4)"};
3358 trace.prev = tracehead; tracehead = &trace;
3359 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction15].i]) return;
3360 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction15].i] = 1;
3361 tracehead = trace.prev;
3362 return;
3363 }
3364 void parser___ReduceAction16___action(val_t self, val_t param0) {
3365 struct trace_t trace = {NULL, "parser::ReduceAction16::action (src/parser//parser.nit:1336,2--1371:33)"};
3366 val_t variable0;
3367 val_t variable1;
3368 val_t variable2;
3369 val_t variable3;
3370 val_t variable4;
3371 val_t variable5;
3372 val_t variable6;
3373 val_t variable7;
3374 val_t variable8;
3375 val_t variable9;
3376 val_t variable10;
3377 val_t variable11;
3378 val_t variable12;
3379 trace.prev = tracehead; tracehead = &trace;
3380 variable0 = param0;
3381 variable1 = NIT_NULL /*null*/;
3382 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3383 variable2 = variable3;
3384 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3385 variable3 = variable4;
3386 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3387 variable4 = variable5;
3388 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
3389 variable5 = variable6;
3390 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
3391 variable6 = variable7;
3392 variable7 = variable4 /*nodearraylist1*/;
3393 variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3394 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1345,6--38\n"); nit_exit(1);}
3395 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
3396 variable8 = variable9;
3397 variable9 = variable3 /*nodearraylist2*/;
3398 variable10 = TAG_Bool(( variable9 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3399 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1348,6--38\n"); nit_exit(1);}
3400 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable9 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
3401 if (UNTAG_Bool(variable10)) { /*if*/
3402 ((array___AbstractArray___add_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode7*/, variable9 /*ppropdefnode6*/) /*Array::add*/;
3403 }
3404 variable11 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode7*/); /*new ATopClassdef*/
3405 variable10 = variable11;
3406 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
3407 if (UNTAG_Bool(variable11)) { /*if*/
3408 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode8*/) /*Array::is_empty*/;
3409 if (UNTAG_Bool(variable11)) { /*if*/
3410 variable6 = variable7 /*listnode4*/ /*listnode8=*/;
3411 } else { /*if*/
3412 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode8*/, variable7 /*listnode4*/) /*Array::append*/;
3413 }
3414 }
3415 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable10 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
3416 if (UNTAG_Bool(variable11)) { /*if*/
3417 ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/, variable10 /*pclassdefnode5*/) /*Array::add*/;
3418 }
3419 variable12 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable5 /*listnode3*/, variable6 /*listnode8*/); /*new AModule*/
3420 variable11 = variable12;
3421 variable1 = variable11 /*pmodulenode1*/ /*node_list=*/;
3422 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3423 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
3424 tracehead = trace.prev;
3425 return;
3426 }
3427 void parser___ReduceAction16___init(val_t self, int* init_table) {
3428 struct trace_t trace = {NULL, "parser::ReduceAction16::init (src/parser//parser.nit:1373,1--4)"};
3429 trace.prev = tracehead; tracehead = &trace;
3430 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction16].i]) return;
3431 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction16].i] = 1;
3432 tracehead = trace.prev;
3433 return;
3434 }
3435 void parser___ReduceAction17___action(val_t self, val_t param0) {
3436 struct trace_t trace = {NULL, "parser::ReduceAction17::action (src/parser//parser.nit:1377,2--1422:33)"};
3437 val_t variable0;
3438 val_t variable1;
3439 val_t variable2;
3440 val_t variable3;
3441 val_t variable4;
3442 val_t variable5;
3443 val_t variable6;
3444 val_t variable7;
3445 val_t variable8;
3446 val_t variable9;
3447 val_t variable10;
3448 val_t variable11;
3449 val_t variable12;
3450 val_t variable13;
3451 val_t variable14;
3452 trace.prev = tracehead; tracehead = &trace;
3453 variable0 = param0;
3454 variable1 = NIT_NULL /*null*/;
3455 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3456 variable2 = variable3;
3457 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3458 variable3 = variable4;
3459 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3460 variable4 = variable5;
3461 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3462 variable5 = variable6;
3463 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
3464 variable6 = variable7;
3465 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
3466 variable7 = variable8;
3467 variable8 = variable5 /*nodearraylist1*/;
3468 variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3469 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1387,6--38\n"); nit_exit(1);}
3470 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
3471 variable9 = variable10;
3472 variable10 = variable4 /*nodearraylist2*/;
3473 variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3474 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1390,6--38\n"); nit_exit(1);}
3475 variable11 = variable2 /*nodearraylist4*/;
3476 variable12 = TAG_Bool(( variable11 /*listnode7*/==NIT_NULL) || VAL_ISA( variable11 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3477 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1392,6--38\n"); nit_exit(1);}
3478 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
3479 if (UNTAG_Bool(variable12)) { /*if*/
3480 ((array___AbstractArray___add_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode8*/, variable10 /*ppropdefnode6*/) /*Array::add*/;
3481 }
3482 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode7*/ == NIT_NULL /*null*/) || (( variable11 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
3483 if (UNTAG_Bool(variable12)) { /*if*/
3484 variable12 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode8*/) /*Array::is_empty*/;
3485 if (UNTAG_Bool(variable12)) { /*if*/
3486 variable9 = variable11 /*listnode7*/ /*listnode8=*/;
3487 } else { /*if*/
3488 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode8*/, variable11 /*listnode7*/) /*Array::append*/;
3489 }
3490 }
3491 variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode8*/); /*new ATopClassdef*/
3492 variable12 = variable13;
3493 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
3494 if (UNTAG_Bool(variable13)) { /*if*/
3495 variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode9*/) /*Array::is_empty*/;
3496 if (UNTAG_Bool(variable13)) { /*if*/
3497 variable7 = variable8 /*listnode4*/ /*listnode9=*/;
3498 } else { /*if*/
3499 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode9*/, variable8 /*listnode4*/) /*Array::append*/;
3500 }
3501 }
3502 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
3503 if (UNTAG_Bool(variable13)) { /*if*/
3504 ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable12 /*pclassdefnode5*/) /*Array::add*/;
3505 }
3506 variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable6 /*listnode3*/, variable7 /*listnode9*/); /*new AModule*/
3507 variable13 = variable14;
3508 variable1 = variable13 /*pmodulenode1*/ /*node_list=*/;
3509 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3510 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
3511 tracehead = trace.prev;
3512 return;
3513 }
3514 void parser___ReduceAction17___init(val_t self, int* init_table) {
3515 struct trace_t trace = {NULL, "parser::ReduceAction17::init (src/parser//parser.nit:1424,1--4)"};
3516 trace.prev = tracehead; tracehead = &trace;
3517 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction17].i]) return;
3518 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction17].i] = 1;
3519 tracehead = trace.prev;
3520 return;
3521 }
3522 void parser___ReduceAction18___action(val_t self, val_t param0) {
3523 struct trace_t trace = {NULL, "parser::ReduceAction18::action (src/parser//parser.nit:1428,2--1466:33)"};
3524 val_t variable0;
3525 val_t variable1;
3526 val_t variable2;
3527 val_t variable3;
3528 val_t variable4;
3529 val_t variable5;
3530 val_t variable6;
3531 val_t variable7;
3532 val_t variable8;
3533 val_t variable9;
3534 val_t variable10;
3535 val_t variable11;
3536 val_t variable12;
3537 val_t variable13;
3538 val_t variable14;
3539 trace.prev = tracehead; tracehead = &trace;
3540 variable0 = param0;
3541 variable1 = NIT_NULL /*null*/;
3542 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3543 variable2 = variable3;
3544 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3545 variable3 = variable4;
3546 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3547 variable4 = variable5;
3548 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3549 variable5 = variable6;
3550 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
3551 variable6 = variable7;
3552 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
3553 variable7 = variable8;
3554 variable8 = variable5 /*nodearraylist1*/;
3555 variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3556 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1438,6--46\n"); nit_exit(1);}
3557 variable9 = variable4 /*nodearraylist2*/;
3558 variable10 = TAG_Bool(( variable9 /*listnode4*/==NIT_NULL) || VAL_ISA( variable9 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3559 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1440,6--38\n"); nit_exit(1);}
3560 variable11 = NEW_array___Array___init(); /*new Array[Object]*/
3561 variable10 = variable11;
3562 variable11 = variable3 /*nodearraylist3*/;
3563 variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3564 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1443,6--38\n"); nit_exit(1);}
3565 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
3566 if (UNTAG_Bool(variable12)) { /*if*/
3567 ((array___AbstractArray___add_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode7*/, variable11 /*ppropdefnode6*/) /*Array::add*/;
3568 }
3569 variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode7*/); /*new ATopClassdef*/
3570 variable12 = variable13;
3571 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ == NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
3572 if (UNTAG_Bool(variable13)) { /*if*/
3573 variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode8*/) /*Array::is_empty*/;
3574 if (UNTAG_Bool(variable13)) { /*if*/
3575 variable7 = variable9 /*listnode4*/ /*listnode8=*/;
3576 } else { /*if*/
3577 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode8*/, variable9 /*listnode4*/) /*Array::append*/;
3578 }
3579 }
3580 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
3581 if (UNTAG_Bool(variable13)) { /*if*/
3582 ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/, variable12 /*pclassdefnode5*/) /*Array::add*/;
3583 }
3584 variable14 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/, variable6 /*listnode3*/, variable7 /*listnode8*/); /*new AModule*/
3585 variable13 = variable14;
3586 variable1 = variable13 /*pmodulenode1*/ /*node_list=*/;
3587 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3588 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
3589 tracehead = trace.prev;
3590 return;
3591 }
3592 void parser___ReduceAction18___init(val_t self, int* init_table) {
3593 struct trace_t trace = {NULL, "parser::ReduceAction18::init (src/parser//parser.nit:1468,1--4)"};
3594 trace.prev = tracehead; tracehead = &trace;
3595 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction18].i]) return;
3596 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction18].i] = 1;
3597 tracehead = trace.prev;
3598 return;
3599 }
3600 void parser___ReduceAction19___action(val_t self, val_t param0) {
3601 struct trace_t trace = {NULL, "parser::ReduceAction19::action (src/parser//parser.nit:1472,2--1520:33)"};
3602 val_t variable0;
3603 val_t variable1;
3604 val_t variable2;
3605 val_t variable3;
3606 val_t variable4;
3607 val_t variable5;
3608 val_t variable6;
3609 val_t variable7;
3610 val_t variable8;
3611 val_t variable9;
3612 val_t variable10;
3613 val_t variable11;
3614 val_t variable12;
3615 val_t variable13;
3616 val_t variable14;
3617 val_t variable15;
3618 val_t variable16;
3619 trace.prev = tracehead; tracehead = &trace;
3620 variable0 = param0;
3621 variable1 = NIT_NULL /*null*/;
3622 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3623 variable2 = variable3;
3624 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3625 variable3 = variable4;
3626 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3627 variable4 = variable5;
3628 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3629 variable5 = variable6;
3630 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3631 variable6 = variable7;
3632 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
3633 variable7 = variable8;
3634 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
3635 variable8 = variable9;
3636 variable9 = variable6 /*nodearraylist1*/;
3637 variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3638 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1483,6--46\n"); nit_exit(1);}
3639 variable10 = variable5 /*nodearraylist2*/;
3640 variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3641 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1485,6--38\n"); nit_exit(1);}
3642 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
3643 variable11 = variable12;
3644 variable12 = variable4 /*nodearraylist3*/;
3645 variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3646 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1488,6--38\n"); nit_exit(1);}
3647 variable13 = variable2 /*nodearraylist5*/;
3648 variable14 = TAG_Bool(( variable13 /*listnode7*/==NIT_NULL) || VAL_ISA( variable13 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3649 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1490,6--38\n"); nit_exit(1);}
3650 variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
3651 if (UNTAG_Bool(variable14)) { /*if*/
3652 ((array___AbstractArray___add_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode8*/, variable12 /*ppropdefnode6*/) /*Array::add*/;
3653 }
3654 variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode7*/ == NIT_NULL /*null*/) || (( variable13 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
3655 if (UNTAG_Bool(variable14)) { /*if*/
3656 variable14 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*Array::is_empty*/;
3657 if (UNTAG_Bool(variable14)) { /*if*/
3658 variable11 = variable13 /*listnode7*/ /*listnode8=*/;
3659 } else { /*if*/
3660 ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/, variable13 /*listnode7*/) /*Array::append*/;
3661 }
3662 }
3663 variable15 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode8*/); /*new ATopClassdef*/
3664 variable14 = variable15;
3665 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
3666 if (UNTAG_Bool(variable15)) { /*if*/
3667 variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode9*/) /*Array::is_empty*/;
3668 if (UNTAG_Bool(variable15)) { /*if*/
3669 variable8 = variable10 /*listnode4*/ /*listnode9=*/;
3670 } else { /*if*/
3671 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode9*/, variable10 /*listnode4*/) /*Array::append*/;
3672 }
3673 }
3674 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
3675 if (UNTAG_Bool(variable15)) { /*if*/
3676 ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable14 /*pclassdefnode5*/) /*Array::add*/;
3677 }
3678 variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/, variable7 /*listnode3*/, variable8 /*listnode9*/); /*new AModule*/
3679 variable15 = variable16;
3680 variable1 = variable15 /*pmodulenode1*/ /*node_list=*/;
3681 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3682 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
3683 tracehead = trace.prev;
3684 return;
3685 }
3686 void parser___ReduceAction19___init(val_t self, int* init_table) {
3687 struct trace_t trace = {NULL, "parser::ReduceAction19::init (src/parser//parser.nit:1522,1--4)"};
3688 trace.prev = tracehead; tracehead = &trace;
3689 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction19].i]) return;
3690 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction19].i] = 1;
3691 tracehead = trace.prev;
3692 return;
3693 }
3694 void parser___ReduceAction20___action(val_t self, val_t param0) {
3695 struct trace_t trace = {NULL, "parser::ReduceAction20::action (src/parser//parser.nit:1526,2--1571:33)"};
3696 val_t variable0;
3697 val_t variable1;
3698 val_t variable2;
3699 val_t variable3;
3700 val_t variable4;
3701 val_t variable5;
3702 val_t variable6;
3703 val_t variable7;
3704 val_t variable8;
3705 val_t variable9;
3706 val_t variable10;
3707 val_t variable11;
3708 val_t variable12;
3709 val_t variable13;
3710 val_t variable14;
3711 trace.prev = tracehead; tracehead = &trace;
3712 variable0 = param0;
3713 variable1 = NIT_NULL /*null*/;
3714 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3715 variable2 = variable3;
3716 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3717 variable3 = variable4;
3718 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3719 variable4 = variable5;
3720 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3721 variable5 = variable6;
3722 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
3723 variable6 = variable7;
3724 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
3725 variable7 = variable8;
3726 variable8 = variable5 /*nodearraylist1*/;
3727 variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3728 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1536,6--38\n"); nit_exit(1);}
3729 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
3730 if (UNTAG_Bool(variable9)) { /*if*/
3731 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
3732 if (UNTAG_Bool(variable9)) { /*if*/
3733 variable6 = variable8 /*listnode3*/ /*listnode4=*/;
3734 } else { /*if*/
3735 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/;
3736 }
3737 }
3738 variable9 = variable4 /*nodearraylist2*/;
3739 variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3740 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1545,6--38\n"); nit_exit(1);}
3741 variable11 = NEW_array___Array___init(); /*new Array[Object]*/
3742 variable10 = variable11;
3743 variable11 = variable3 /*nodearraylist3*/;
3744 variable12 = TAG_Bool(( variable11 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3745 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1548,6--38\n"); nit_exit(1);}
3746 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable11 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
3747 if (UNTAG_Bool(variable12)) { /*if*/
3748 ((array___AbstractArray___add_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode8*/, variable11 /*ppropdefnode7*/) /*Array::add*/;
3749 }
3750 variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode8*/); /*new ATopClassdef*/
3751 variable12 = variable13;
3752 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ == NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
3753 if (UNTAG_Bool(variable13)) { /*if*/
3754 variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode9*/) /*Array::is_empty*/;
3755 if (UNTAG_Bool(variable13)) { /*if*/
3756 variable7 = variable9 /*listnode5*/ /*listnode9=*/;
3757 } else { /*if*/
3758 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode9*/, variable9 /*listnode5*/) /*Array::append*/;
3759 }
3760 }
3761 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
3762 if (UNTAG_Bool(variable13)) { /*if*/
3763 ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable12 /*pclassdefnode6*/) /*Array::add*/;
3764 }
3765 variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable6 /*listnode4*/, variable7 /*listnode9*/); /*new AModule*/
3766 variable13 = variable14;
3767 variable1 = variable13 /*pmodulenode1*/ /*node_list=*/;
3768 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3769 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
3770 tracehead = trace.prev;
3771 return;
3772 }
3773 void parser___ReduceAction20___init(val_t self, int* init_table) {
3774 struct trace_t trace = {NULL, "parser::ReduceAction20::init (src/parser//parser.nit:1573,1--4)"};
3775 trace.prev = tracehead; tracehead = &trace;
3776 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction20].i]) return;
3777 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction20].i] = 1;
3778 tracehead = trace.prev;
3779 return;
3780 }
3781 void parser___ReduceAction21___action(val_t self, val_t param0) {
3782 struct trace_t trace = {NULL, "parser::ReduceAction21::action (src/parser//parser.nit:1577,2--1632:33)"};
3783 val_t variable0;
3784 val_t variable1;
3785 val_t variable2;
3786 val_t variable3;
3787 val_t variable4;
3788 val_t variable5;
3789 val_t variable6;
3790 val_t variable7;
3791 val_t variable8;
3792 val_t variable9;
3793 val_t variable10;
3794 val_t variable11;
3795 val_t variable12;
3796 val_t variable13;
3797 val_t variable14;
3798 val_t variable15;
3799 val_t variable16;
3800 trace.prev = tracehead; tracehead = &trace;
3801 variable0 = param0;
3802 variable1 = NIT_NULL /*null*/;
3803 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3804 variable2 = variable3;
3805 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3806 variable3 = variable4;
3807 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3808 variable4 = variable5;
3809 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3810 variable5 = variable6;
3811 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3812 variable6 = variable7;
3813 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
3814 variable7 = variable8;
3815 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
3816 variable8 = variable9;
3817 variable9 = variable6 /*nodearraylist1*/;
3818 variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3819 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1588,6--38\n"); nit_exit(1);}
3820 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
3821 if (UNTAG_Bool(variable10)) { /*if*/
3822 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
3823 if (UNTAG_Bool(variable10)) { /*if*/
3824 variable7 = variable9 /*listnode3*/ /*listnode4=*/;
3825 } else { /*if*/
3826 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/;
3827 }
3828 }
3829 variable10 = variable5 /*nodearraylist2*/;
3830 variable11 = TAG_Bool(( variable10 /*listnode5*/==NIT_NULL) || VAL_ISA( variable10 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3831 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1597,6--38\n"); nit_exit(1);}
3832 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
3833 variable11 = variable12;
3834 variable12 = variable4 /*nodearraylist3*/;
3835 variable13 = TAG_Bool(( variable12 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3836 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1600,6--38\n"); nit_exit(1);}
3837 variable13 = variable2 /*nodearraylist5*/;
3838 variable14 = TAG_Bool(( variable13 /*listnode8*/==NIT_NULL) || VAL_ISA( variable13 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3839 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1602,6--38\n"); nit_exit(1);}
3840 variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable12 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
3841 if (UNTAG_Bool(variable14)) { /*if*/
3842 ((array___AbstractArray___add_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode9*/, variable12 /*ppropdefnode7*/) /*Array::add*/;
3843 }
3844 variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode8*/ == NIT_NULL /*null*/) || (( variable13 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/)))));
3845 if (UNTAG_Bool(variable14)) { /*if*/
3846 variable14 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode9*/) /*Array::is_empty*/;
3847 if (UNTAG_Bool(variable14)) { /*if*/
3848 variable11 = variable13 /*listnode8*/ /*listnode9=*/;
3849 } else { /*if*/
3850 ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode9*/, variable13 /*listnode8*/) /*Array::append*/;
3851 }
3852 }
3853 variable15 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode9*/); /*new ATopClassdef*/
3854 variable14 = variable15;
3855 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode5*/ == NIT_NULL /*null*/) || (( variable10 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
3856 if (UNTAG_Bool(variable15)) { /*if*/
3857 variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode10*/) /*Array::is_empty*/;
3858 if (UNTAG_Bool(variable15)) { /*if*/
3859 variable8 = variable10 /*listnode5*/ /*listnode10=*/;
3860 } else { /*if*/
3861 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode10*/, variable10 /*listnode5*/) /*Array::append*/;
3862 }
3863 }
3864 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
3865 if (UNTAG_Bool(variable15)) { /*if*/
3866 ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable14 /*pclassdefnode6*/) /*Array::add*/;
3867 }
3868 variable16 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable7 /*listnode4*/, variable8 /*listnode10*/); /*new AModule*/
3869 variable15 = variable16;
3870 variable1 = variable15 /*pmodulenode1*/ /*node_list=*/;
3871 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3872 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
3873 tracehead = trace.prev;
3874 return;
3875 }
3876 void parser___ReduceAction21___init(val_t self, int* init_table) {
3877 struct trace_t trace = {NULL, "parser::ReduceAction21::init (src/parser//parser.nit:1634,1--4)"};
3878 trace.prev = tracehead; tracehead = &trace;
3879 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction21].i]) return;
3880 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction21].i] = 1;
3881 tracehead = trace.prev;
3882 return;
3883 }
3884 void parser___ReduceAction22___action(val_t self, val_t param0) {
3885 struct trace_t trace = {NULL, "parser::ReduceAction22::action (src/parser//parser.nit:1638,2--1686:33)"};
3886 val_t variable0;
3887 val_t variable1;
3888 val_t variable2;
3889 val_t variable3;
3890 val_t variable4;
3891 val_t variable5;
3892 val_t variable6;
3893 val_t variable7;
3894 val_t variable8;
3895 val_t variable9;
3896 val_t variable10;
3897 val_t variable11;
3898 val_t variable12;
3899 val_t variable13;
3900 val_t variable14;
3901 val_t variable15;
3902 val_t variable16;
3903 trace.prev = tracehead; tracehead = &trace;
3904 variable0 = param0;
3905 variable1 = NIT_NULL /*null*/;
3906 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3907 variable2 = variable3;
3908 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3909 variable3 = variable4;
3910 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3911 variable4 = variable5;
3912 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3913 variable5 = variable6;
3914 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
3915 variable6 = variable7;
3916 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
3917 variable7 = variable8;
3918 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
3919 variable8 = variable9;
3920 variable9 = variable6 /*nodearraylist1*/;
3921 variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3922 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1649,6--46\n"); nit_exit(1);}
3923 variable10 = variable5 /*nodearraylist2*/;
3924 variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3925 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1651,6--38\n"); nit_exit(1);}
3926 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ == NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
3927 if (UNTAG_Bool(variable11)) { /*if*/
3928 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
3929 if (UNTAG_Bool(variable11)) { /*if*/
3930 variable7 = variable10 /*listnode3*/ /*listnode4=*/;
3931 } else { /*if*/
3932 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable10 /*listnode3*/) /*Array::append*/;
3933 }
3934 }
3935 variable11 = variable4 /*nodearraylist3*/;
3936 variable12 = TAG_Bool(( variable11 /*listnode5*/==NIT_NULL) || VAL_ISA( variable11 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3937 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1660,6--38\n"); nit_exit(1);}
3938 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
3939 variable12 = variable13;
3940 variable13 = variable3 /*nodearraylist4*/;
3941 variable14 = TAG_Bool(( variable13 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3942 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1663,6--38\n"); nit_exit(1);}
3943 variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable13 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
3944 if (UNTAG_Bool(variable14)) { /*if*/
3945 ((array___AbstractArray___add_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode8*/, variable13 /*ppropdefnode7*/) /*Array::add*/;
3946 }
3947 variable15 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode8*/); /*new ATopClassdef*/
3948 variable14 = variable15;
3949 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode5*/ == NIT_NULL /*null*/) || (( variable11 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
3950 if (UNTAG_Bool(variable15)) { /*if*/
3951 variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode9*/) /*Array::is_empty*/;
3952 if (UNTAG_Bool(variable15)) { /*if*/
3953 variable8 = variable11 /*listnode5*/ /*listnode9=*/;
3954 } else { /*if*/
3955 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode9*/, variable11 /*listnode5*/) /*Array::append*/;
3956 }
3957 }
3958 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
3959 if (UNTAG_Bool(variable15)) { /*if*/
3960 ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable14 /*pclassdefnode6*/) /*Array::add*/;
3961 }
3962 variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/, variable7 /*listnode4*/, variable8 /*listnode9*/); /*new AModule*/
3963 variable15 = variable16;
3964 variable1 = variable15 /*pmodulenode1*/ /*node_list=*/;
3965 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3966 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
3967 tracehead = trace.prev;
3968 return;
3969 }
3970 void parser___ReduceAction22___init(val_t self, int* init_table) {
3971 struct trace_t trace = {NULL, "parser::ReduceAction22::init (src/parser//parser.nit:1688,1--4)"};
3972 trace.prev = tracehead; tracehead = &trace;
3973 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction22].i]) return;
3974 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction22].i] = 1;
3975 tracehead = trace.prev;
3976 return;
3977 }
3978 void parser___ReduceAction23___action(val_t self, val_t param0) {
3979 struct trace_t trace = {NULL, "parser::ReduceAction23::action (src/parser//parser.nit:1692,2--1750:33)"};
3980 val_t variable0;
3981 val_t variable1;
3982 val_t variable2;
3983 val_t variable3;
3984 val_t variable4;
3985 val_t variable5;
3986 val_t variable6;
3987 val_t variable7;
3988 val_t variable8;
3989 val_t variable9;
3990 val_t variable10;
3991 val_t variable11;
3992 val_t variable12;
3993 val_t variable13;
3994 val_t variable14;
3995 val_t variable15;
3996 val_t variable16;
3997 val_t variable17;
3998 val_t variable18;
3999 trace.prev = tracehead; tracehead = &trace;
4000 variable0 = param0;
4001 variable1 = NIT_NULL /*null*/;
4002 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4003 variable2 = variable3;
4004 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4005 variable3 = variable4;
4006 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4007 variable4 = variable5;
4008 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4009 variable5 = variable6;
4010 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4011 variable6 = variable7;
4012 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4013 variable7 = variable8;
4014 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
4015 variable8 = variable9;
4016 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
4017 variable9 = variable10;
4018 variable10 = variable7 /*nodearraylist1*/;
4019 variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4020 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1704,6--46\n"); nit_exit(1);}
4021 variable11 = variable6 /*nodearraylist2*/;
4022 variable12 = TAG_Bool(( variable11 /*listnode3*/==NIT_NULL) || VAL_ISA( variable11 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4023 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1706,6--38\n"); nit_exit(1);}
4024 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode3*/ == NIT_NULL /*null*/) || (( variable11 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
4025 if (UNTAG_Bool(variable12)) { /*if*/
4026 variable12 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/;
4027 if (UNTAG_Bool(variable12)) { /*if*/
4028 variable8 = variable11 /*listnode3*/ /*listnode4=*/;
4029 } else { /*if*/
4030 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/, variable11 /*listnode3*/) /*Array::append*/;
4031 }
4032 }
4033 variable12 = variable5 /*nodearraylist3*/;
4034 variable13 = TAG_Bool(( variable12 /*listnode5*/==NIT_NULL) || VAL_ISA( variable12 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4035 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1715,6--38\n"); nit_exit(1);}
4036 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
4037 variable13 = variable14;
4038 variable14 = variable4 /*nodearraylist4*/;
4039 variable15 = TAG_Bool(( variable14 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4040 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1718,6--38\n"); nit_exit(1);}
4041 variable15 = variable2 /*nodearraylist6*/;
4042 variable16 = TAG_Bool(( variable15 /*listnode8*/==NIT_NULL) || VAL_ISA( variable15 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4043 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1720,6--38\n"); nit_exit(1);}
4044 variable16 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable14 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
4045 if (UNTAG_Bool(variable16)) { /*if*/
4046 ((array___AbstractArray___add_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode9*/, variable14 /*ppropdefnode7*/) /*Array::add*/;
4047 }
4048 variable16 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*listnode8*/ == NIT_NULL /*null*/) || (( variable15 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable15 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable15 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/)))));
4049 if (UNTAG_Bool(variable16)) { /*if*/
4050 variable16 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode9*/) /*Array::is_empty*/;
4051 if (UNTAG_Bool(variable16)) { /*if*/
4052 variable13 = variable15 /*listnode8*/ /*listnode9=*/;
4053 } else { /*if*/
4054 ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode9*/, variable15 /*listnode8*/) /*Array::append*/;
4055 }
4056 }
4057 variable17 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable13 /*listnode9*/); /*new ATopClassdef*/
4058 variable16 = variable17;
4059 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode5*/ == NIT_NULL /*null*/) || (( variable12 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
4060 if (UNTAG_Bool(variable17)) { /*if*/
4061 variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode10*/) /*Array::is_empty*/;
4062 if (UNTAG_Bool(variable17)) { /*if*/
4063 variable9 = variable12 /*listnode5*/ /*listnode10=*/;
4064 } else { /*if*/
4065 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode10*/, variable12 /*listnode5*/) /*Array::append*/;
4066 }
4067 }
4068 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable16 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
4069 if (UNTAG_Bool(variable17)) { /*if*/
4070 ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable16 /*pclassdefnode6*/) /*Array::add*/;
4071 }
4072 variable18 = NEW_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/, variable8 /*listnode4*/, variable9 /*listnode10*/); /*new AModule*/
4073 variable17 = variable18;
4074 variable1 = variable17 /*pmodulenode1*/ /*node_list=*/;
4075 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4076 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
4077 tracehead = trace.prev;
4078 return;
4079 }
4080 void parser___ReduceAction23___init(val_t self, int* init_table) {
4081 struct trace_t trace = {NULL, "parser::ReduceAction23::init (src/parser//parser.nit:1752,1--4)"};
4082 trace.prev = tracehead; tracehead = &trace;
4083 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction23].i]) return;
4084 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction23].i] = 1;
4085 tracehead = trace.prev;
4086 return;
4087 }
4088 void parser___ReduceAction24___action(val_t self, val_t param0) {
4089 struct trace_t trace = {NULL, "parser::ReduceAction24::action (src/parser//parser.nit:1756,2--1773:33)"};
4090 val_t variable0;
4091 val_t variable1;
4092 val_t variable2;
4093 val_t variable3;
4094 val_t variable4;
4095 val_t variable5;
4096 val_t variable6;
4097 val_t variable7;
4098 trace.prev = tracehead; tracehead = &trace;
4099 variable0 = param0;
4100 variable1 = NIT_NULL /*null*/;
4101 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4102 variable2 = variable3;
4103 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
4104 variable3 = variable4;
4105 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
4106 variable4 = variable5;
4107 variable5 = variable2 /*nodearraylist1*/;
4108 variable6 = TAG_Bool(( variable5 /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable5 /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4109 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1763,6--40\n"); nit_exit(1);}
4110 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable5 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable5 /*pclassdefnode4*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4111 if (UNTAG_Bool(variable6)) { /*if*/
4112 ((array___AbstractArray___add_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode5*/, variable5 /*pclassdefnode4*/) /*Array::add*/;
4113 }
4114 variable7 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable3 /*listnode3*/, variable4 /*listnode5*/); /*new AModule*/
4115 variable6 = variable7;
4116 variable1 = variable6 /*pmodulenode1*/ /*node_list=*/;
4117 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4118 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
4119 tracehead = trace.prev;
4120 return;
4121 }
4122 void parser___ReduceAction24___init(val_t self, int* init_table) {
4123 struct trace_t trace = {NULL, "parser::ReduceAction24::init (src/parser//parser.nit:1775,1--4)"};
4124 trace.prev = tracehead; tracehead = &trace;
4125 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction24].i]) return;
4126 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction24].i] = 1;
4127 tracehead = trace.prev;
4128 return;
4129 }
4130 void parser___ReduceAction25___action(val_t self, val_t param0) {
4131 struct trace_t trace = {NULL, "parser::ReduceAction25::action (src/parser//parser.nit:1779,2--1799:33)"};
4132 val_t variable0;
4133 val_t variable1;
4134 val_t variable2;
4135 val_t variable3;
4136 val_t variable4;
4137 val_t variable5;
4138 val_t variable6;
4139 val_t variable7;
4140 val_t variable8;
4141 val_t variable9;
4142 trace.prev = tracehead; tracehead = &trace;
4143 variable0 = param0;
4144 variable1 = NIT_NULL /*null*/;
4145 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4146 variable2 = variable3;
4147 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4148 variable3 = variable4;
4149 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
4150 variable4 = variable5;
4151 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
4152 variable5 = variable6;
4153 variable6 = variable3 /*nodearraylist1*/;
4154 variable7 = TAG_Bool(( variable6 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4155 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1787,6--46\n"); nit_exit(1);}
4156 variable7 = variable2 /*nodearraylist2*/;
4157 variable8 = TAG_Bool(( variable7 /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable7 /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4158 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1789,6--40\n"); nit_exit(1);}
4159 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable7 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*pclassdefnode4*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4160 if (UNTAG_Bool(variable8)) { /*if*/
4161 ((array___AbstractArray___add_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode5*/, variable7 /*pclassdefnode4*/) /*Array::add*/;
4162 }
4163 variable9 = NEW_parser_prod___AModule___init_amodule( variable6 /*ppackagedeclnode2*/, variable4 /*listnode3*/, variable5 /*listnode5*/); /*new AModule*/
4164 variable8 = variable9;
4165 variable1 = variable8 /*pmodulenode1*/ /*node_list=*/;
4166 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4167 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
4168 tracehead = trace.prev;
4169 return;
4170 }
4171 void parser___ReduceAction25___init(val_t self, int* init_table) {
4172 struct trace_t trace = {NULL, "parser::ReduceAction25::init (src/parser//parser.nit:1801,1--4)"};
4173 trace.prev = tracehead; tracehead = &trace;
4174 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction25].i]) return;
4175 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction25].i] = 1;
4176 tracehead = trace.prev;
4177 return;
4178 }
4179 void parser___ReduceAction26___action(val_t self, val_t param0) {
4180 struct trace_t trace = {NULL, "parser::ReduceAction26::action (src/parser//parser.nit:1805,2--1832:33)"};
4181 val_t variable0;
4182 val_t variable1;
4183 val_t variable2;
4184 val_t variable3;
4185 val_t variable4;
4186 val_t variable5;
4187 val_t variable6;
4188 val_t variable7;
4189 val_t variable8;
4190 val_t variable9;
4191 trace.prev = tracehead; tracehead = &trace;
4192 variable0 = param0;
4193 variable1 = NIT_NULL /*null*/;
4194 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4195 variable2 = variable3;
4196 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4197 variable3 = variable4;
4198 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
4199 variable4 = variable5;
4200 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
4201 variable5 = variable6;
4202 variable6 = variable3 /*nodearraylist1*/;
4203 variable7 = TAG_Bool(( variable6 /*listnode3*/==NIT_NULL) || VAL_ISA( variable6 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4204 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1813,6--38\n"); nit_exit(1);}
4205 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode3*/ == NIT_NULL /*null*/) || (( variable6 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
4206 if (UNTAG_Bool(variable7)) { /*if*/
4207 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/;
4208 if (UNTAG_Bool(variable7)) { /*if*/
4209 variable4 = variable6 /*listnode3*/ /*listnode4=*/;
4210 } else { /*if*/
4211 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/, variable6 /*listnode3*/) /*Array::append*/;
4212 }
4213 }
4214 variable7 = variable2 /*nodearraylist2*/;
4215 variable8 = TAG_Bool(( variable7 /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable7 /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4216 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1822,6--40\n"); nit_exit(1);}
4217 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable7 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*pclassdefnode5*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4218 if (UNTAG_Bool(variable8)) { /*if*/
4219 ((array___AbstractArray___add_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode6*/, variable7 /*pclassdefnode5*/) /*Array::add*/;
4220 }
4221 variable9 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable4 /*listnode4*/, variable5 /*listnode6*/); /*new AModule*/
4222 variable8 = variable9;
4223 variable1 = variable8 /*pmodulenode1*/ /*node_list=*/;
4224 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4225 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
4226 tracehead = trace.prev;
4227 return;
4228 }
4229 void parser___ReduceAction26___init(val_t self, int* init_table) {
4230 struct trace_t trace = {NULL, "parser::ReduceAction26::init (src/parser//parser.nit:1834,1--4)"};
4231 trace.prev = tracehead; tracehead = &trace;
4232 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction26].i]) return;
4233 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction26].i] = 1;
4234 tracehead = trace.prev;
4235 return;
4236 }
4237 void parser___ReduceAction27___action(val_t self, val_t param0) {
4238 struct trace_t trace = {NULL, "parser::ReduceAction27::action (src/parser//parser.nit:1838,2--1868:33)"};
4239 val_t variable0;
4240 val_t variable1;
4241 val_t variable2;
4242 val_t variable3;
4243 val_t variable4;
4244 val_t variable5;
4245 val_t variable6;
4246 val_t variable7;
4247 val_t variable8;
4248 val_t variable9;
4249 val_t variable10;
4250 val_t variable11;
4251 trace.prev = tracehead; tracehead = &trace;
4252 variable0 = param0;
4253 variable1 = NIT_NULL /*null*/;
4254 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4255 variable2 = variable3;
4256 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4257 variable3 = variable4;
4258 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4259 variable4 = variable5;
4260 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
4261 variable5 = variable6;
4262 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
4263 variable6 = variable7;
4264 variable7 = variable4 /*nodearraylist1*/;
4265 variable8 = TAG_Bool(( variable7 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable7 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4266 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1847,6--46\n"); nit_exit(1);}
4267 variable8 = variable3 /*nodearraylist2*/;
4268 variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4269 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1849,6--38\n"); nit_exit(1);}
4270 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
4271 if (UNTAG_Bool(variable9)) { /*if*/
4272 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*Array::is_empty*/;
4273 if (UNTAG_Bool(variable9)) { /*if*/
4274 variable5 = variable8 /*listnode3*/ /*listnode4=*/;
4275 } else { /*if*/
4276 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/;
4277 }
4278 }
4279 variable9 = variable2 /*nodearraylist3*/;
4280 variable10 = TAG_Bool(( variable9 /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4281 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1858,6--40\n"); nit_exit(1);}
4282 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable9 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode5*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4283 if (UNTAG_Bool(variable10)) { /*if*/
4284 ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/, variable9 /*pclassdefnode5*/) /*Array::add*/;
4285 }
4286 variable11 = NEW_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/, variable5 /*listnode4*/, variable6 /*listnode6*/); /*new AModule*/
4287 variable10 = variable11;
4288 variable1 = variable10 /*pmodulenode1*/ /*node_list=*/;
4289 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4290 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
4291 tracehead = trace.prev;
4292 return;
4293 }
4294 void parser___ReduceAction27___init(val_t self, int* init_table) {
4295 struct trace_t trace = {NULL, "parser::ReduceAction27::init (src/parser//parser.nit:1870,1--4)"};
4296 trace.prev = tracehead; tracehead = &trace;
4297 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction27].i]) return;
4298 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction27].i] = 1;
4299 tracehead = trace.prev;
4300 return;
4301 }
4302 void parser___ReduceAction28___action(val_t self, val_t param0) {
4303 struct trace_t trace = {NULL, "parser::ReduceAction28::action (src/parser//parser.nit:1874,2--1901:33)"};
4304 val_t variable0;
4305 val_t variable1;
4306 val_t variable2;
4307 val_t variable3;
4308 val_t variable4;
4309 val_t variable5;
4310 val_t variable6;
4311 val_t variable7;
4312 val_t variable8;
4313 val_t variable9;
4314 trace.prev = tracehead; tracehead = &trace;
4315 variable0 = param0;
4316 variable1 = NIT_NULL /*null*/;
4317 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4318 variable2 = variable3;
4319 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4320 variable3 = variable4;
4321 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
4322 variable4 = variable5;
4323 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
4324 variable5 = variable6;
4325 variable6 = variable3 /*nodearraylist1*/;
4326 variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4327 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1882,6--38\n"); nit_exit(1);}
4328 variable7 = variable2 /*nodearraylist2*/;
4329 variable8 = TAG_Bool(( variable7 /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable7 /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4330 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1884,6--40\n"); nit_exit(1);}
4331 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
4332 if (UNTAG_Bool(variable8)) { /*if*/
4333 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode6*/) /*Array::is_empty*/;
4334 if (UNTAG_Bool(variable8)) { /*if*/
4335 variable5 = variable6 /*listnode4*/ /*listnode6=*/;
4336 } else { /*if*/
4337 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode6*/, variable6 /*listnode4*/) /*Array::append*/;
4338 }
4339 }
4340 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable7 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*pclassdefnode5*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4341 if (UNTAG_Bool(variable8)) { /*if*/
4342 ((array___AbstractArray___add_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode6*/, variable7 /*pclassdefnode5*/) /*Array::add*/;
4343 }
4344 variable9 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable4 /*listnode3*/, variable5 /*listnode6*/); /*new AModule*/
4345 variable8 = variable9;
4346 variable1 = variable8 /*pmodulenode1*/ /*node_list=*/;
4347 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4348 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
4349 tracehead = trace.prev;
4350 return;
4351 }
4352 void parser___ReduceAction28___init(val_t self, int* init_table) {
4353 struct trace_t trace = {NULL, "parser::ReduceAction28::init (src/parser//parser.nit:1903,1--4)"};
4354 trace.prev = tracehead; tracehead = &trace;
4355 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction28].i]) return;
4356 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction28].i] = 1;
4357 tracehead = trace.prev;
4358 return;
4359 }
4360 void parser___ReduceAction29___action(val_t self, val_t param0) {
4361 struct trace_t trace = {NULL, "parser::ReduceAction29::action (src/parser//parser.nit:1907,2--1937:33)"};
4362 val_t variable0;
4363 val_t variable1;
4364 val_t variable2;
4365 val_t variable3;
4366 val_t variable4;
4367 val_t variable5;
4368 val_t variable6;
4369 val_t variable7;
4370 val_t variable8;
4371 val_t variable9;
4372 val_t variable10;
4373 val_t variable11;
4374 trace.prev = tracehead; tracehead = &trace;
4375 variable0 = param0;
4376 variable1 = NIT_NULL /*null*/;
4377 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4378 variable2 = variable3;
4379 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4380 variable3 = variable4;
4381 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4382 variable4 = variable5;
4383 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
4384 variable5 = variable6;
4385 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
4386 variable6 = variable7;
4387 variable7 = variable4 /*nodearraylist1*/;
4388 variable8 = TAG_Bool(( variable7 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable7 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4389 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1916,6--46\n"); nit_exit(1);}
4390 variable8 = variable3 /*nodearraylist2*/;
4391 variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4392 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1918,6--38\n"); nit_exit(1);}
4393 variable9 = variable2 /*nodearraylist3*/;
4394 variable10 = TAG_Bool(( variable9 /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4395 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1920,6--40\n"); nit_exit(1);}
4396 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
4397 if (UNTAG_Bool(variable10)) { /*if*/
4398 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
4399 if (UNTAG_Bool(variable10)) { /*if*/
4400 variable6 = variable8 /*listnode4*/ /*listnode6=*/;
4401 } else { /*if*/
4402 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable8 /*listnode4*/) /*Array::append*/;
4403 }
4404 }
4405 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable9 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode5*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4406 if (UNTAG_Bool(variable10)) { /*if*/
4407 ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/, variable9 /*pclassdefnode5*/) /*Array::add*/;
4408 }
4409 variable11 = NEW_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/, variable5 /*listnode3*/, variable6 /*listnode6*/); /*new AModule*/
4410 variable10 = variable11;
4411 variable1 = variable10 /*pmodulenode1*/ /*node_list=*/;
4412 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4413 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
4414 tracehead = trace.prev;
4415 return;
4416 }
4417 void parser___ReduceAction29___init(val_t self, int* init_table) {
4418 struct trace_t trace = {NULL, "parser::ReduceAction29::init (src/parser//parser.nit:1939,1--4)"};
4419 trace.prev = tracehead; tracehead = &trace;
4420 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction29].i]) return;
4421 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction29].i] = 1;
4422 tracehead = trace.prev;
4423 return;
4424 }
4425 void parser___ReduceAction30___action(val_t self, val_t param0) {
4426 struct trace_t trace = {NULL, "parser::ReduceAction30::action (src/parser//parser.nit:1943,2--1980:33)"};
4427 val_t variable0;
4428 val_t variable1;
4429 val_t variable2;
4430 val_t variable3;
4431 val_t variable4;
4432 val_t variable5;
4433 val_t variable6;
4434 val_t variable7;
4435 val_t variable8;
4436 val_t variable9;
4437 val_t variable10;
4438 val_t variable11;
4439 trace.prev = tracehead; tracehead = &trace;
4440 variable0 = param0;
4441 variable1 = NIT_NULL /*null*/;
4442 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4443 variable2 = variable3;
4444 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4445 variable3 = variable4;
4446 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4447 variable4 = variable5;
4448 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
4449 variable5 = variable6;
4450 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
4451 variable6 = variable7;
4452 variable7 = variable4 /*nodearraylist1*/;
4453 variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4454 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1952,6--38\n"); nit_exit(1);}
4455 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ == NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
4456 if (UNTAG_Bool(variable8)) { /*if*/
4457 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*Array::is_empty*/;
4458 if (UNTAG_Bool(variable8)) { /*if*/
4459 variable5 = variable7 /*listnode3*/ /*listnode4=*/;
4460 } else { /*if*/
4461 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/, variable7 /*listnode3*/) /*Array::append*/;
4462 }
4463 }
4464 variable8 = variable3 /*nodearraylist2*/;
4465 variable9 = TAG_Bool(( variable8 /*listnode5*/==NIT_NULL) || VAL_ISA( variable8 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4466 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1961,6--38\n"); nit_exit(1);}
4467 variable9 = variable2 /*nodearraylist3*/;
4468 variable10 = TAG_Bool(( variable9 /*pclassdefnode6*/==NIT_NULL) || VAL_ISA( variable9 /*pclassdefnode6*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4469 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1963,6--40\n"); nit_exit(1);}
4470 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode5*/ == NIT_NULL /*null*/) || (( variable8 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
4471 if (UNTAG_Bool(variable10)) { /*if*/
4472 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode7*/) /*Array::is_empty*/;
4473 if (UNTAG_Bool(variable10)) { /*if*/
4474 variable6 = variable8 /*listnode5*/ /*listnode7=*/;
4475 } else { /*if*/
4476 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode7*/, variable8 /*listnode5*/) /*Array::append*/;
4477 }
4478 }
4479 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable9 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode6*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4480 if (UNTAG_Bool(variable10)) { /*if*/
4481 ((array___AbstractArray___add_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode7*/, variable9 /*pclassdefnode6*/) /*Array::add*/;
4482 }
4483 variable11 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable5 /*listnode4*/, variable6 /*listnode7*/); /*new AModule*/
4484 variable10 = variable11;
4485 variable1 = variable10 /*pmodulenode1*/ /*node_list=*/;
4486 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4487 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
4488 tracehead = trace.prev;
4489 return;
4490 }
4491 void parser___ReduceAction30___init(val_t self, int* init_table) {
4492 struct trace_t trace = {NULL, "parser::ReduceAction30::init (src/parser//parser.nit:1982,1--4)"};
4493 trace.prev = tracehead; tracehead = &trace;
4494 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction30].i]) return;
4495 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction30].i] = 1;
4496 tracehead = trace.prev;
4497 return;
4498 }
4499 void parser___ReduceAction31___action(val_t self, val_t param0) {
4500 struct trace_t trace = {NULL, "parser::ReduceAction31::action (src/parser//parser.nit:1986,2--2026:33)"};
4501 val_t variable0;
4502 val_t variable1;
4503 val_t variable2;
4504 val_t variable3;
4505 val_t variable4;
4506 val_t variable5;
4507 val_t variable6;
4508 val_t variable7;
4509 val_t variable8;
4510 val_t variable9;
4511 val_t variable10;
4512 val_t variable11;
4513 val_t variable12;
4514 val_t variable13;
4515 trace.prev = tracehead; tracehead = &trace;
4516 variable0 = param0;
4517 variable1 = NIT_NULL /*null*/;
4518 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4519 variable2 = variable3;
4520 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4521 variable3 = variable4;
4522 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4523 variable4 = variable5;
4524 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4525 variable5 = variable6;
4526 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
4527 variable6 = variable7;
4528 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
4529 variable7 = variable8;
4530 variable8 = variable5 /*nodearraylist1*/;
4531 variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4532 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1996,6--46\n"); nit_exit(1);}
4533 variable9 = variable4 /*nodearraylist2*/;
4534 variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4535 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1998,6--38\n"); nit_exit(1);}
4536 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
4537 if (UNTAG_Bool(variable10)) { /*if*/
4538 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
4539 if (UNTAG_Bool(variable10)) { /*if*/
4540 variable6 = variable9 /*listnode3*/ /*listnode4=*/;
4541 } else { /*if*/
4542 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/;
4543 }
4544 }
4545 variable10 = variable3 /*nodearraylist3*/;
4546 variable11 = TAG_Bool(( variable10 /*listnode5*/==NIT_NULL) || VAL_ISA( variable10 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4547 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2007,6--38\n"); nit_exit(1);}
4548 variable11 = variable2 /*nodearraylist4*/;
4549 variable12 = TAG_Bool(( variable11 /*pclassdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*pclassdefnode6*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4550 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2009,6--40\n"); nit_exit(1);}
4551 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode5*/ == NIT_NULL /*null*/) || (( variable10 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
4552 if (UNTAG_Bool(variable12)) { /*if*/
4553 variable12 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode7*/) /*Array::is_empty*/;
4554 if (UNTAG_Bool(variable12)) { /*if*/
4555 variable7 = variable10 /*listnode5*/ /*listnode7=*/;
4556 } else { /*if*/
4557 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode7*/, variable10 /*listnode5*/) /*Array::append*/;
4558 }
4559 }
4560 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable11 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode6*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4561 if (UNTAG_Bool(variable12)) { /*if*/
4562 ((array___AbstractArray___add_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode7*/, variable11 /*pclassdefnode6*/) /*Array::add*/;
4563 }
4564 variable13 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/, variable6 /*listnode4*/, variable7 /*listnode7*/); /*new AModule*/
4565 variable12 = variable13;
4566 variable1 = variable12 /*pmodulenode1*/ /*node_list=*/;
4567 variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4568 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/;
4569 tracehead = trace.prev;
4570 return;
4571 }
4572 void parser___ReduceAction31___init(val_t self, int* init_table) {
4573 struct trace_t trace = {NULL, "parser::ReduceAction31::init (src/parser//parser.nit:2028,1--4)"};
4574 trace.prev = tracehead; tracehead = &trace;
4575 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction31].i]) return;
4576 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction31].i] = 1;
4577 tracehead = trace.prev;
4578 return;
4579 }
4580 void parser___ReduceAction32___action(val_t self, val_t param0) {
4581 struct trace_t trace = {NULL, "parser::ReduceAction32::action (src/parser//parser.nit:2032,2--2063:33)"};
4582 val_t variable0;
4583 val_t variable1;
4584 val_t variable2;
4585 val_t variable3;
4586 val_t variable4;
4587 val_t variable5;
4588 val_t variable6;
4589 val_t variable7;
4590 val_t variable8;
4591 val_t variable9;
4592 val_t variable10;
4593 val_t variable11;
4594 val_t variable12;
4595 trace.prev = tracehead; tracehead = &trace;
4596 variable0 = param0;
4597 variable1 = NIT_NULL /*null*/;
4598 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4599 variable2 = variable3;
4600 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4601 variable3 = variable4;
4602 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4603 variable4 = variable5;
4604 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
4605 variable5 = variable6;
4606 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
4607 variable6 = variable7;
4608 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
4609 variable7 = variable8;
4610 variable8 = variable4 /*nodearraylist1*/;
4611 variable9 = TAG_Bool(( variable8 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable8 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4612 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2042,6--38\n"); nit_exit(1);}
4613 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable8 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
4614 if (UNTAG_Bool(variable9)) { /*if*/
4615 ((array___AbstractArray___add_t)CALL( variable7 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode6*/, variable8 /*ppropdefnode5*/) /*Array::add*/;
4616 }
4617 variable10 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable7 /*listnode6*/); /*new ATopClassdef*/
4618 variable9 = variable10;
4619 variable10 = variable2 /*nodearraylist3*/;
4620 variable11 = TAG_Bool(( variable10 /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable10 /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4621 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2050,6--40\n"); nit_exit(1);}
4622 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable9 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
4623 if (UNTAG_Bool(variable11)) { /*if*/
4624 ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/, variable9 /*pclassdefnode4*/) /*Array::add*/;
4625 }
4626 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode7*/ == NIT_NULL /*null*/) || (( variable10 /*pclassdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode7*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4627 if (UNTAG_Bool(variable11)) { /*if*/
4628 ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/, variable10 /*pclassdefnode7*/) /*Array::add*/;
4629 }
4630 variable12 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable5 /*listnode3*/, variable6 /*listnode8*/); /*new AModule*/
4631 variable11 = variable12;
4632 variable1 = variable11 /*pmodulenode1*/ /*node_list=*/;
4633 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4634 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
4635 tracehead = trace.prev;
4636 return;
4637 }
4638 void parser___ReduceAction32___init(val_t self, int* init_table) {
4639 struct trace_t trace = {NULL, "parser::ReduceAction32::init (src/parser//parser.nit:2065,1--4)"};
4640 trace.prev = tracehead; tracehead = &trace;
4641 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction32].i]) return;
4642 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction32].i] = 1;
4643 tracehead = trace.prev;
4644 return;
4645 }
4646 void parser___ReduceAction33___action(val_t self, val_t param0) {
4647 struct trace_t trace = {NULL, "parser::ReduceAction33::action (src/parser//parser.nit:2069,2--2110:33)"};
4648 val_t variable0;
4649 val_t variable1;
4650 val_t variable2;
4651 val_t variable3;
4652 val_t variable4;
4653 val_t variable5;
4654 val_t variable6;
4655 val_t variable7;
4656 val_t variable8;
4657 val_t variable9;
4658 val_t variable10;
4659 val_t variable11;
4660 val_t variable12;
4661 val_t variable13;
4662 val_t variable14;
4663 trace.prev = tracehead; tracehead = &trace;
4664 variable0 = param0;
4665 variable1 = NIT_NULL /*null*/;
4666 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4667 variable2 = variable3;
4668 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4669 variable3 = variable4;
4670 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4671 variable4 = variable5;
4672 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4673 variable5 = variable6;
4674 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
4675 variable6 = variable7;
4676 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
4677 variable7 = variable8;
4678 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
4679 variable8 = variable9;
4680 variable9 = variable5 /*nodearraylist1*/;
4681 variable10 = TAG_Bool(( variable9 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4682 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2080,6--38\n"); nit_exit(1);}
4683 variable10 = variable3 /*nodearraylist3*/;
4684 variable11 = TAG_Bool(( variable10 /*listnode6*/==NIT_NULL) || VAL_ISA( variable10 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4685 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2082,6--38\n"); nit_exit(1);}
4686 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable9 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
4687 if (UNTAG_Bool(variable11)) { /*if*/
4688 ((array___AbstractArray___add_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode7*/, variable9 /*ppropdefnode5*/) /*Array::add*/;
4689 }
4690 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode6*/ == NIT_NULL /*null*/) || (( variable10 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode6*/, NIT_NULL /*null*/) /*Array::==*/)))));
4691 if (UNTAG_Bool(variable11)) { /*if*/
4692 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode7*/) /*Array::is_empty*/;
4693 if (UNTAG_Bool(variable11)) { /*if*/
4694 variable8 = variable10 /*listnode6*/ /*listnode7=*/;
4695 } else { /*if*/
4696 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode7*/, variable10 /*listnode6*/) /*Array::append*/;
4697 }
4698 }
4699 variable12 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode7*/); /*new ATopClassdef*/
4700 variable11 = variable12;
4701 variable12 = variable2 /*nodearraylist4*/;
4702 variable13 = TAG_Bool(( variable12 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4703 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2097,6--40\n"); nit_exit(1);}
4704 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable11 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
4705 if (UNTAG_Bool(variable13)) { /*if*/
4706 ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable11 /*pclassdefnode4*/) /*Array::add*/;
4707 }
4708 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4709 if (UNTAG_Bool(variable13)) { /*if*/
4710 ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable12 /*pclassdefnode8*/) /*Array::add*/;
4711 }
4712 variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable6 /*listnode3*/, variable7 /*listnode9*/); /*new AModule*/
4713 variable13 = variable14;
4714 variable1 = variable13 /*pmodulenode1*/ /*node_list=*/;
4715 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4716 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
4717 tracehead = trace.prev;
4718 return;
4719 }
4720 void parser___ReduceAction33___init(val_t self, int* init_table) {
4721 struct trace_t trace = {NULL, "parser::ReduceAction33::init (src/parser//parser.nit:2112,1--4)"};
4722 trace.prev = tracehead; tracehead = &trace;
4723 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction33].i]) return;
4724 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction33].i] = 1;
4725 tracehead = trace.prev;
4726 return;
4727 }
4728 void parser___ReduceAction34___action(val_t self, val_t param0) {
4729 struct trace_t trace = {NULL, "parser::ReduceAction34::action (src/parser//parser.nit:2116,2--2150:33)"};
4730 val_t variable0;
4731 val_t variable1;
4732 val_t variable2;
4733 val_t variable3;
4734 val_t variable4;
4735 val_t variable5;
4736 val_t variable6;
4737 val_t variable7;
4738 val_t variable8;
4739 val_t variable9;
4740 val_t variable10;
4741 val_t variable11;
4742 val_t variable12;
4743 val_t variable13;
4744 val_t variable14;
4745 trace.prev = tracehead; tracehead = &trace;
4746 variable0 = param0;
4747 variable1 = NIT_NULL /*null*/;
4748 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4749 variable2 = variable3;
4750 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4751 variable3 = variable4;
4752 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4753 variable4 = variable5;
4754 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4755 variable5 = variable6;
4756 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
4757 variable6 = variable7;
4758 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
4759 variable7 = variable8;
4760 variable8 = variable5 /*nodearraylist1*/;
4761 variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4762 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2126,6--46\n"); nit_exit(1);}
4763 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
4764 variable9 = variable10;
4765 variable10 = variable4 /*nodearraylist2*/;
4766 variable11 = TAG_Bool(( variable10 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4767 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2129,6--38\n"); nit_exit(1);}
4768 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable10 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
4769 if (UNTAG_Bool(variable11)) { /*if*/
4770 ((array___AbstractArray___add_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode6*/, variable10 /*ppropdefnode5*/) /*Array::add*/;
4771 }
4772 variable12 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode6*/); /*new ATopClassdef*/
4773 variable11 = variable12;
4774 variable12 = variable2 /*nodearraylist4*/;
4775 variable13 = TAG_Bool(( variable12 /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4776 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2137,6--40\n"); nit_exit(1);}
4777 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable11 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
4778 if (UNTAG_Bool(variable13)) { /*if*/
4779 ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/, variable11 /*pclassdefnode4*/) /*Array::add*/;
4780 }
4781 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode7*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode7*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4782 if (UNTAG_Bool(variable13)) { /*if*/
4783 ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/, variable12 /*pclassdefnode7*/) /*Array::add*/;
4784 }
4785 variable14 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/, variable6 /*listnode3*/, variable7 /*listnode8*/); /*new AModule*/
4786 variable13 = variable14;
4787 variable1 = variable13 /*pmodulenode1*/ /*node_list=*/;
4788 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4789 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
4790 tracehead = trace.prev;
4791 return;
4792 }
4793 void parser___ReduceAction34___init(val_t self, int* init_table) {
4794 struct trace_t trace = {NULL, "parser::ReduceAction34::init (src/parser//parser.nit:2152,1--4)"};
4795 trace.prev = tracehead; tracehead = &trace;
4796 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction34].i]) return;
4797 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction34].i] = 1;
4798 tracehead = trace.prev;
4799 return;
4800 }
4801 void parser___ReduceAction35___action(val_t self, val_t param0) {
4802 struct trace_t trace = {NULL, "parser::ReduceAction35::action (src/parser//parser.nit:2156,2--2200:33)"};
4803 val_t variable0;
4804 val_t variable1;
4805 val_t variable2;
4806 val_t variable3;
4807 val_t variable4;
4808 val_t variable5;
4809 val_t variable6;
4810 val_t variable7;
4811 val_t variable8;
4812 val_t variable9;
4813 val_t variable10;
4814 val_t variable11;
4815 val_t variable12;
4816 val_t variable13;
4817 val_t variable14;
4818 val_t variable15;
4819 val_t variable16;
4820 trace.prev = tracehead; tracehead = &trace;
4821 variable0 = param0;
4822 variable1 = NIT_NULL /*null*/;
4823 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4824 variable2 = variable3;
4825 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4826 variable3 = variable4;
4827 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4828 variable4 = variable5;
4829 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4830 variable5 = variable6;
4831 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4832 variable6 = variable7;
4833 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
4834 variable7 = variable8;
4835 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
4836 variable8 = variable9;
4837 variable9 = variable6 /*nodearraylist1*/;
4838 variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4839 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2167,6--46\n"); nit_exit(1);}
4840 variable11 = NEW_array___Array___init(); /*new Array[Object]*/
4841 variable10 = variable11;
4842 variable11 = variable5 /*nodearraylist2*/;
4843 variable12 = TAG_Bool(( variable11 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4844 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2170,6--38\n"); nit_exit(1);}
4845 variable12 = variable3 /*nodearraylist4*/;
4846 variable13 = TAG_Bool(( variable12 /*listnode6*/==NIT_NULL) || VAL_ISA( variable12 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4847 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2172,6--38\n"); nit_exit(1);}
4848 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable11 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
4849 if (UNTAG_Bool(variable13)) { /*if*/
4850 ((array___AbstractArray___add_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode7*/, variable11 /*ppropdefnode5*/) /*Array::add*/;
4851 }
4852 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode6*/ == NIT_NULL /*null*/) || (( variable12 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode6*/, NIT_NULL /*null*/) /*Array::==*/)))));
4853 if (UNTAG_Bool(variable13)) { /*if*/
4854 variable13 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode7*/) /*Array::is_empty*/;
4855 if (UNTAG_Bool(variable13)) { /*if*/
4856 variable10 = variable12 /*listnode6*/ /*listnode7=*/;
4857 } else { /*if*/
4858 ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode7*/, variable12 /*listnode6*/) /*Array::append*/;
4859 }
4860 }
4861 variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode7*/); /*new ATopClassdef*/
4862 variable13 = variable14;
4863 variable14 = variable2 /*nodearraylist5*/;
4864 variable15 = TAG_Bool(( variable14 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4865 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2187,6--40\n"); nit_exit(1);}
4866 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable13 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
4867 if (UNTAG_Bool(variable15)) { /*if*/
4868 ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable13 /*pclassdefnode4*/) /*Array::add*/;
4869 }
4870 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4871 if (UNTAG_Bool(variable15)) { /*if*/
4872 ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable14 /*pclassdefnode8*/) /*Array::add*/;
4873 }
4874 variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/, variable7 /*listnode3*/, variable8 /*listnode9*/); /*new AModule*/
4875 variable15 = variable16;
4876 variable1 = variable15 /*pmodulenode1*/ /*node_list=*/;
4877 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4878 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
4879 tracehead = trace.prev;
4880 return;
4881 }
4882 void parser___ReduceAction35___init(val_t self, int* init_table) {
4883 struct trace_t trace = {NULL, "parser::ReduceAction35::init (src/parser//parser.nit:2202,1--4)"};
4884 trace.prev = tracehead; tracehead = &trace;
4885 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction35].i]) return;
4886 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction35].i] = 1;
4887 tracehead = trace.prev;
4888 return;
4889 }
4890 void parser___ReduceAction36___action(val_t self, val_t param0) {
4891 struct trace_t trace = {NULL, "parser::ReduceAction36::action (src/parser//parser.nit:2206,2--2247:33)"};
4892 val_t variable0;
4893 val_t variable1;
4894 val_t variable2;
4895 val_t variable3;
4896 val_t variable4;
4897 val_t variable5;
4898 val_t variable6;
4899 val_t variable7;
4900 val_t variable8;
4901 val_t variable9;
4902 val_t variable10;
4903 val_t variable11;
4904 val_t variable12;
4905 val_t variable13;
4906 val_t variable14;
4907 trace.prev = tracehead; tracehead = &trace;
4908 variable0 = param0;
4909 variable1 = NIT_NULL /*null*/;
4910 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4911 variable2 = variable3;
4912 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4913 variable3 = variable4;
4914 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4915 variable4 = variable5;
4916 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4917 variable5 = variable6;
4918 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
4919 variable6 = variable7;
4920 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
4921 variable7 = variable8;
4922 variable8 = variable5 /*nodearraylist1*/;
4923 variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4924 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2216,6--38\n"); nit_exit(1);}
4925 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
4926 if (UNTAG_Bool(variable9)) { /*if*/
4927 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
4928 if (UNTAG_Bool(variable9)) { /*if*/
4929 variable6 = variable8 /*listnode3*/ /*listnode4=*/;
4930 } else { /*if*/
4931 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/;
4932 }
4933 }
4934 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
4935 variable9 = variable10;
4936 variable10 = variable4 /*nodearraylist2*/;
4937 variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4938 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2226,6--38\n"); nit_exit(1);}
4939 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
4940 if (UNTAG_Bool(variable11)) { /*if*/
4941 ((array___AbstractArray___add_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode7*/, variable10 /*ppropdefnode6*/) /*Array::add*/;
4942 }
4943 variable12 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode7*/); /*new ATopClassdef*/
4944 variable11 = variable12;
4945 variable12 = variable2 /*nodearraylist4*/;
4946 variable13 = TAG_Bool(( variable12 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
4947 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2234,6--40\n"); nit_exit(1);}
4948 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable11 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
4949 if (UNTAG_Bool(variable13)) { /*if*/
4950 ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable11 /*pclassdefnode5*/) /*Array::add*/;
4951 }
4952 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
4953 if (UNTAG_Bool(variable13)) { /*if*/
4954 ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable12 /*pclassdefnode8*/) /*Array::add*/;
4955 }
4956 variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable6 /*listnode4*/, variable7 /*listnode9*/); /*new AModule*/
4957 variable13 = variable14;
4958 variable1 = variable13 /*pmodulenode1*/ /*node_list=*/;
4959 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4960 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
4961 tracehead = trace.prev;
4962 return;
4963 }
4964 void parser___ReduceAction36___init(val_t self, int* init_table) {
4965 struct trace_t trace = {NULL, "parser::ReduceAction36::init (src/parser//parser.nit:2249,1--4)"};
4966 trace.prev = tracehead; tracehead = &trace;
4967 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction36].i]) return;
4968 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction36].i] = 1;
4969 tracehead = trace.prev;
4970 return;
4971 }
4972 void parser___ReduceAction37___action(val_t self, val_t param0) {
4973 struct trace_t trace = {NULL, "parser::ReduceAction37::action (src/parser//parser.nit:2253,2--2304:33)"};
4974 val_t variable0;
4975 val_t variable1;
4976 val_t variable2;
4977 val_t variable3;
4978 val_t variable4;
4979 val_t variable5;
4980 val_t variable6;
4981 val_t variable7;
4982 val_t variable8;
4983 val_t variable9;
4984 val_t variable10;
4985 val_t variable11;
4986 val_t variable12;
4987 val_t variable13;
4988 val_t variable14;
4989 val_t variable15;
4990 val_t variable16;
4991 trace.prev = tracehead; tracehead = &trace;
4992 variable0 = param0;
4993 variable1 = NIT_NULL /*null*/;
4994 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4995 variable2 = variable3;
4996 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4997 variable3 = variable4;
4998 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
4999 variable4 = variable5;
5000 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5001 variable5 = variable6;
5002 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5003 variable6 = variable7;
5004 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
5005 variable7 = variable8;
5006 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
5007 variable8 = variable9;
5008 variable9 = variable6 /*nodearraylist1*/;
5009 variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5010 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2264,6--38\n"); nit_exit(1);}
5011 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
5012 if (UNTAG_Bool(variable10)) { /*if*/
5013 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
5014 if (UNTAG_Bool(variable10)) { /*if*/
5015 variable7 = variable9 /*listnode3*/ /*listnode4=*/;
5016 } else { /*if*/
5017 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/;
5018 }
5019 }
5020 variable11 = NEW_array___Array___init(); /*new Array[Object]*/
5021 variable10 = variable11;
5022 variable11 = variable5 /*nodearraylist2*/;
5023 variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5024 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2274,6--38\n"); nit_exit(1);}
5025 variable12 = variable3 /*nodearraylist4*/;
5026 variable13 = TAG_Bool(( variable12 /*listnode7*/==NIT_NULL) || VAL_ISA( variable12 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5027 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2276,6--38\n"); nit_exit(1);}
5028 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
5029 if (UNTAG_Bool(variable13)) { /*if*/
5030 ((array___AbstractArray___add_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode8*/, variable11 /*ppropdefnode6*/) /*Array::add*/;
5031 }
5032 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode7*/ == NIT_NULL /*null*/) || (( variable12 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
5033 if (UNTAG_Bool(variable13)) { /*if*/
5034 variable13 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode8*/) /*Array::is_empty*/;
5035 if (UNTAG_Bool(variable13)) { /*if*/
5036 variable10 = variable12 /*listnode7*/ /*listnode8=*/;
5037 } else { /*if*/
5038 ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode8*/, variable12 /*listnode7*/) /*Array::append*/;
5039 }
5040 }
5041 variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode8*/); /*new ATopClassdef*/
5042 variable13 = variable14;
5043 variable14 = variable2 /*nodearraylist5*/;
5044 variable15 = TAG_Bool(( variable14 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5045 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2291,6--40\n"); nit_exit(1);}
5046 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
5047 if (UNTAG_Bool(variable15)) { /*if*/
5048 ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable13 /*pclassdefnode5*/) /*Array::add*/;
5049 }
5050 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
5051 if (UNTAG_Bool(variable15)) { /*if*/
5052 ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable14 /*pclassdefnode9*/) /*Array::add*/;
5053 }
5054 variable16 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable7 /*listnode4*/, variable8 /*listnode10*/); /*new AModule*/
5055 variable15 = variable16;
5056 variable1 = variable15 /*pmodulenode1*/ /*node_list=*/;
5057 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5058 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
5059 tracehead = trace.prev;
5060 return;
5061 }
5062 void parser___ReduceAction37___init(val_t self, int* init_table) {
5063 struct trace_t trace = {NULL, "parser::ReduceAction37::init (src/parser//parser.nit:2306,1--4)"};
5064 trace.prev = tracehead; tracehead = &trace;
5065 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction37].i]) return;
5066 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction37].i] = 1;
5067 tracehead = trace.prev;
5068 return;
5069 }
5070 void parser___ReduceAction38___action(val_t self, val_t param0) {
5071 struct trace_t trace = {NULL, "parser::ReduceAction38::action (src/parser//parser.nit:2310,2--2354:33)"};
5072 val_t variable0;
5073 val_t variable1;
5074 val_t variable2;
5075 val_t variable3;
5076 val_t variable4;
5077 val_t variable5;
5078 val_t variable6;
5079 val_t variable7;
5080 val_t variable8;
5081 val_t variable9;
5082 val_t variable10;
5083 val_t variable11;
5084 val_t variable12;
5085 val_t variable13;
5086 val_t variable14;
5087 val_t variable15;
5088 val_t variable16;
5089 trace.prev = tracehead; tracehead = &trace;
5090 variable0 = param0;
5091 variable1 = NIT_NULL /*null*/;
5092 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5093 variable2 = variable3;
5094 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5095 variable3 = variable4;
5096 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5097 variable4 = variable5;
5098 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5099 variable5 = variable6;
5100 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5101 variable6 = variable7;
5102 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
5103 variable7 = variable8;
5104 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
5105 variable8 = variable9;
5106 variable9 = variable6 /*nodearraylist1*/;
5107 variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5108 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2321,6--46\n"); nit_exit(1);}
5109 variable10 = variable5 /*nodearraylist2*/;
5110 variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5111 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2323,6--38\n"); nit_exit(1);}
5112 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ == NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
5113 if (UNTAG_Bool(variable11)) { /*if*/
5114 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
5115 if (UNTAG_Bool(variable11)) { /*if*/
5116 variable7 = variable10 /*listnode3*/ /*listnode4=*/;
5117 } else { /*if*/
5118 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable10 /*listnode3*/) /*Array::append*/;
5119 }
5120 }
5121 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
5122 variable11 = variable12;
5123 variable12 = variable4 /*nodearraylist3*/;
5124 variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5125 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2333,6--38\n"); nit_exit(1);}
5126 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
5127 if (UNTAG_Bool(variable13)) { /*if*/
5128 ((array___AbstractArray___add_t)CALL( variable11 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode7*/, variable12 /*ppropdefnode6*/) /*Array::add*/;
5129 }
5130 variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode7*/); /*new ATopClassdef*/
5131 variable13 = variable14;
5132 variable14 = variable2 /*nodearraylist5*/;
5133 variable15 = TAG_Bool(( variable14 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5134 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2341,6--40\n"); nit_exit(1);}
5135 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
5136 if (UNTAG_Bool(variable15)) { /*if*/
5137 ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable13 /*pclassdefnode5*/) /*Array::add*/;
5138 }
5139 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
5140 if (UNTAG_Bool(variable15)) { /*if*/
5141 ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable14 /*pclassdefnode8*/) /*Array::add*/;
5142 }
5143 variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/, variable7 /*listnode4*/, variable8 /*listnode9*/); /*new AModule*/
5144 variable15 = variable16;
5145 variable1 = variable15 /*pmodulenode1*/ /*node_list=*/;
5146 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5147 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
5148 tracehead = trace.prev;
5149 return;
5150 }
5151 void parser___ReduceAction38___init(val_t self, int* init_table) {
5152 struct trace_t trace = {NULL, "parser::ReduceAction38::init (src/parser//parser.nit:2356,1--4)"};
5153 trace.prev = tracehead; tracehead = &trace;
5154 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction38].i]) return;
5155 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction38].i] = 1;
5156 tracehead = trace.prev;
5157 return;
5158 }
5159 void parser___ReduceAction39___action(val_t self, val_t param0) {
5160 struct trace_t trace = {NULL, "parser::ReduceAction39::action (src/parser//parser.nit:2360,2--2414:33)"};
5161 val_t variable0;
5162 val_t variable1;
5163 val_t variable2;
5164 val_t variable3;
5165 val_t variable4;
5166 val_t variable5;
5167 val_t variable6;
5168 val_t variable7;
5169 val_t variable8;
5170 val_t variable9;
5171 val_t variable10;
5172 val_t variable11;
5173 val_t variable12;
5174 val_t variable13;
5175 val_t variable14;
5176 val_t variable15;
5177 val_t variable16;
5178 val_t variable17;
5179 val_t variable18;
5180 trace.prev = tracehead; tracehead = &trace;
5181 variable0 = param0;
5182 variable1 = NIT_NULL /*null*/;
5183 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5184 variable2 = variable3;
5185 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5186 variable3 = variable4;
5187 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5188 variable4 = variable5;
5189 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5190 variable5 = variable6;
5191 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5192 variable6 = variable7;
5193 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5194 variable7 = variable8;
5195 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
5196 variable8 = variable9;
5197 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
5198 variable9 = variable10;
5199 variable10 = variable7 /*nodearraylist1*/;
5200 variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5201 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2372,6--46\n"); nit_exit(1);}
5202 variable11 = variable6 /*nodearraylist2*/;
5203 variable12 = TAG_Bool(( variable11 /*listnode3*/==NIT_NULL) || VAL_ISA( variable11 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5204 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2374,6--38\n"); nit_exit(1);}
5205 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode3*/ == NIT_NULL /*null*/) || (( variable11 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
5206 if (UNTAG_Bool(variable12)) { /*if*/
5207 variable12 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/;
5208 if (UNTAG_Bool(variable12)) { /*if*/
5209 variable8 = variable11 /*listnode3*/ /*listnode4=*/;
5210 } else { /*if*/
5211 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/, variable11 /*listnode3*/) /*Array::append*/;
5212 }
5213 }
5214 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
5215 variable12 = variable13;
5216 variable13 = variable5 /*nodearraylist3*/;
5217 variable14 = TAG_Bool(( variable13 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5218 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2384,6--38\n"); nit_exit(1);}
5219 variable14 = variable3 /*nodearraylist5*/;
5220 variable15 = TAG_Bool(( variable14 /*listnode7*/==NIT_NULL) || VAL_ISA( variable14 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5221 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2386,6--38\n"); nit_exit(1);}
5222 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable13 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
5223 if (UNTAG_Bool(variable15)) { /*if*/
5224 ((array___AbstractArray___add_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode8*/, variable13 /*ppropdefnode6*/) /*Array::add*/;
5225 }
5226 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*listnode7*/ == NIT_NULL /*null*/) || (( variable14 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable14 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
5227 if (UNTAG_Bool(variable15)) { /*if*/
5228 variable15 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*Array::is_empty*/;
5229 if (UNTAG_Bool(variable15)) { /*if*/
5230 variable12 = variable14 /*listnode7*/ /*listnode8=*/;
5231 } else { /*if*/
5232 ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/, variable14 /*listnode7*/) /*Array::append*/;
5233 }
5234 }
5235 variable16 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode8*/); /*new ATopClassdef*/
5236 variable15 = variable16;
5237 variable16 = variable2 /*nodearraylist6*/;
5238 variable17 = TAG_Bool(( variable16 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5239 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2401,6--40\n"); nit_exit(1);}
5240 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable15 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
5241 if (UNTAG_Bool(variable17)) { /*if*/
5242 ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable15 /*pclassdefnode5*/) /*Array::add*/;
5243 }
5244 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable16 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
5245 if (UNTAG_Bool(variable17)) { /*if*/
5246 ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable16 /*pclassdefnode9*/) /*Array::add*/;
5247 }
5248 variable18 = NEW_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/, variable8 /*listnode4*/, variable9 /*listnode10*/); /*new AModule*/
5249 variable17 = variable18;
5250 variable1 = variable17 /*pmodulenode1*/ /*node_list=*/;
5251 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5252 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
5253 tracehead = trace.prev;
5254 return;
5255 }
5256 void parser___ReduceAction39___init(val_t self, int* init_table) {
5257 struct trace_t trace = {NULL, "parser::ReduceAction39::init (src/parser//parser.nit:2416,1--4)"};
5258 trace.prev = tracehead; tracehead = &trace;
5259 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction39].i]) return;
5260 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction39].i] = 1;
5261 tracehead = trace.prev;
5262 return;
5263 }
5264 void parser___ReduceAction40___action(val_t self, val_t param0) {
5265 struct trace_t trace = {NULL, "parser::ReduceAction40::action (src/parser//parser.nit:2420,2--2461:33)"};
5266 val_t variable0;
5267 val_t variable1;
5268 val_t variable2;
5269 val_t variable3;
5270 val_t variable4;
5271 val_t variable5;
5272 val_t variable6;
5273 val_t variable7;
5274 val_t variable8;
5275 val_t variable9;
5276 val_t variable10;
5277 val_t variable11;
5278 val_t variable12;
5279 val_t variable13;
5280 val_t variable14;
5281 trace.prev = tracehead; tracehead = &trace;
5282 variable0 = param0;
5283 variable1 = NIT_NULL /*null*/;
5284 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5285 variable2 = variable3;
5286 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5287 variable3 = variable4;
5288 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5289 variable4 = variable5;
5290 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5291 variable5 = variable6;
5292 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
5293 variable6 = variable7;
5294 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
5295 variable7 = variable8;
5296 variable8 = variable5 /*nodearraylist1*/;
5297 variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5298 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2430,6--38\n"); nit_exit(1);}
5299 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
5300 variable9 = variable10;
5301 variable10 = variable4 /*nodearraylist2*/;
5302 variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5303 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2433,6--38\n"); nit_exit(1);}
5304 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
5305 if (UNTAG_Bool(variable11)) { /*if*/
5306 ((array___AbstractArray___add_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode7*/, variable10 /*ppropdefnode6*/) /*Array::add*/;
5307 }
5308 variable12 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode7*/); /*new ATopClassdef*/
5309 variable11 = variable12;
5310 variable12 = variable2 /*nodearraylist4*/;
5311 variable13 = TAG_Bool(( variable12 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5312 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2441,6--40\n"); nit_exit(1);}
5313 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
5314 if (UNTAG_Bool(variable13)) { /*if*/
5315 variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode9*/) /*Array::is_empty*/;
5316 if (UNTAG_Bool(variable13)) { /*if*/
5317 variable7 = variable8 /*listnode4*/ /*listnode9=*/;
5318 } else { /*if*/
5319 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode9*/, variable8 /*listnode4*/) /*Array::append*/;
5320 }
5321 }
5322 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable11 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
5323 if (UNTAG_Bool(variable13)) { /*if*/
5324 ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable11 /*pclassdefnode5*/) /*Array::add*/;
5325 }
5326 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
5327 if (UNTAG_Bool(variable13)) { /*if*/
5328 ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable12 /*pclassdefnode8*/) /*Array::add*/;
5329 }
5330 variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable6 /*listnode3*/, variable7 /*listnode9*/); /*new AModule*/
5331 variable13 = variable14;
5332 variable1 = variable13 /*pmodulenode1*/ /*node_list=*/;
5333 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5334 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
5335 tracehead = trace.prev;
5336 return;
5337 }
5338 void parser___ReduceAction40___init(val_t self, int* init_table) {
5339 struct trace_t trace = {NULL, "parser::ReduceAction40::init (src/parser//parser.nit:2463,1--4)"};
5340 trace.prev = tracehead; tracehead = &trace;
5341 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction40].i]) return;
5342 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction40].i] = 1;
5343 tracehead = trace.prev;
5344 return;
5345 }
5346 void parser___ReduceAction41___action(val_t self, val_t param0) {
5347 struct trace_t trace = {NULL, "parser::ReduceAction41::action (src/parser//parser.nit:2467,2--2518:33)"};
5348 val_t variable0;
5349 val_t variable1;
5350 val_t variable2;
5351 val_t variable3;
5352 val_t variable4;
5353 val_t variable5;
5354 val_t variable6;
5355 val_t variable7;
5356 val_t variable8;
5357 val_t variable9;
5358 val_t variable10;
5359 val_t variable11;
5360 val_t variable12;
5361 val_t variable13;
5362 val_t variable14;
5363 val_t variable15;
5364 val_t variable16;
5365 trace.prev = tracehead; tracehead = &trace;
5366 variable0 = param0;
5367 variable1 = NIT_NULL /*null*/;
5368 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5369 variable2 = variable3;
5370 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5371 variable3 = variable4;
5372 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5373 variable4 = variable5;
5374 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5375 variable5 = variable6;
5376 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5377 variable6 = variable7;
5378 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
5379 variable7 = variable8;
5380 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
5381 variable8 = variable9;
5382 variable9 = variable6 /*nodearraylist1*/;
5383 variable10 = TAG_Bool(( variable9 /*listnode4*/==NIT_NULL) || VAL_ISA( variable9 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5384 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2478,6--38\n"); nit_exit(1);}
5385 variable11 = NEW_array___Array___init(); /*new Array[Object]*/
5386 variable10 = variable11;
5387 variable11 = variable5 /*nodearraylist2*/;
5388 variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5389 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2481,6--38\n"); nit_exit(1);}
5390 variable12 = variable3 /*nodearraylist4*/;
5391 variable13 = TAG_Bool(( variable12 /*listnode7*/==NIT_NULL) || VAL_ISA( variable12 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5392 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2483,6--38\n"); nit_exit(1);}
5393 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
5394 if (UNTAG_Bool(variable13)) { /*if*/
5395 ((array___AbstractArray___add_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode8*/, variable11 /*ppropdefnode6*/) /*Array::add*/;
5396 }
5397 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode7*/ == NIT_NULL /*null*/) || (( variable12 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
5398 if (UNTAG_Bool(variable13)) { /*if*/
5399 variable13 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode8*/) /*Array::is_empty*/;
5400 if (UNTAG_Bool(variable13)) { /*if*/
5401 variable10 = variable12 /*listnode7*/ /*listnode8=*/;
5402 } else { /*if*/
5403 ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode8*/, variable12 /*listnode7*/) /*Array::append*/;
5404 }
5405 }
5406 variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode8*/); /*new ATopClassdef*/
5407 variable13 = variable14;
5408 variable14 = variable2 /*nodearraylist5*/;
5409 variable15 = TAG_Bool(( variable14 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5410 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2498,6--40\n"); nit_exit(1);}
5411 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ == NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
5412 if (UNTAG_Bool(variable15)) { /*if*/
5413 variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode10*/) /*Array::is_empty*/;
5414 if (UNTAG_Bool(variable15)) { /*if*/
5415 variable8 = variable9 /*listnode4*/ /*listnode10=*/;
5416 } else { /*if*/
5417 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode10*/, variable9 /*listnode4*/) /*Array::append*/;
5418 }
5419 }
5420 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
5421 if (UNTAG_Bool(variable15)) { /*if*/
5422 ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable13 /*pclassdefnode5*/) /*Array::add*/;
5423 }
5424 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
5425 if (UNTAG_Bool(variable15)) { /*if*/
5426 ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable14 /*pclassdefnode9*/) /*Array::add*/;
5427 }
5428 variable16 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable7 /*listnode3*/, variable8 /*listnode10*/); /*new AModule*/
5429 variable15 = variable16;
5430 variable1 = variable15 /*pmodulenode1*/ /*node_list=*/;
5431 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5432 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
5433 tracehead = trace.prev;
5434 return;
5435 }
5436 void parser___ReduceAction41___init(val_t self, int* init_table) {
5437 struct trace_t trace = {NULL, "parser::ReduceAction41::init (src/parser//parser.nit:2520,1--4)"};
5438 trace.prev = tracehead; tracehead = &trace;
5439 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction41].i]) return;
5440 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction41].i] = 1;
5441 tracehead = trace.prev;
5442 return;
5443 }
5444 void parser___ReduceAction42___action(val_t self, val_t param0) {
5445 struct trace_t trace = {NULL, "parser::ReduceAction42::action (src/parser//parser.nit:2524,2--2568:33)"};
5446 val_t variable0;
5447 val_t variable1;
5448 val_t variable2;
5449 val_t variable3;
5450 val_t variable4;
5451 val_t variable5;
5452 val_t variable6;
5453 val_t variable7;
5454 val_t variable8;
5455 val_t variable9;
5456 val_t variable10;
5457 val_t variable11;
5458 val_t variable12;
5459 val_t variable13;
5460 val_t variable14;
5461 val_t variable15;
5462 val_t variable16;
5463 trace.prev = tracehead; tracehead = &trace;
5464 variable0 = param0;
5465 variable1 = NIT_NULL /*null*/;
5466 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5467 variable2 = variable3;
5468 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5469 variable3 = variable4;
5470 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5471 variable4 = variable5;
5472 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5473 variable5 = variable6;
5474 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5475 variable6 = variable7;
5476 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
5477 variable7 = variable8;
5478 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
5479 variable8 = variable9;
5480 variable9 = variable6 /*nodearraylist1*/;
5481 variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5482 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2535,6--46\n"); nit_exit(1);}
5483 variable10 = variable5 /*nodearraylist2*/;
5484 variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5485 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2537,6--38\n"); nit_exit(1);}
5486 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
5487 variable11 = variable12;
5488 variable12 = variable4 /*nodearraylist3*/;
5489 variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5490 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2540,6--38\n"); nit_exit(1);}
5491 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
5492 if (UNTAG_Bool(variable13)) { /*if*/
5493 ((array___AbstractArray___add_t)CALL( variable11 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode7*/, variable12 /*ppropdefnode6*/) /*Array::add*/;
5494 }
5495 variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode7*/); /*new ATopClassdef*/
5496 variable13 = variable14;
5497 variable14 = variable2 /*nodearraylist5*/;
5498 variable15 = TAG_Bool(( variable14 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5499 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2548,6--40\n"); nit_exit(1);}
5500 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
5501 if (UNTAG_Bool(variable15)) { /*if*/
5502 variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode9*/) /*Array::is_empty*/;
5503 if (UNTAG_Bool(variable15)) { /*if*/
5504 variable8 = variable10 /*listnode4*/ /*listnode9=*/;
5505 } else { /*if*/
5506 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode9*/, variable10 /*listnode4*/) /*Array::append*/;
5507 }
5508 }
5509 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
5510 if (UNTAG_Bool(variable15)) { /*if*/
5511 ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable13 /*pclassdefnode5*/) /*Array::add*/;
5512 }
5513 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
5514 if (UNTAG_Bool(variable15)) { /*if*/
5515 ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable14 /*pclassdefnode8*/) /*Array::add*/;
5516 }
5517 variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/, variable7 /*listnode3*/, variable8 /*listnode9*/); /*new AModule*/
5518 variable15 = variable16;
5519 variable1 = variable15 /*pmodulenode1*/ /*node_list=*/;
5520 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5521 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
5522 tracehead = trace.prev;
5523 return;
5524 }
5525 void parser___ReduceAction42___init(val_t self, int* init_table) {
5526 struct trace_t trace = {NULL, "parser::ReduceAction42::init (src/parser//parser.nit:2570,1--4)"};
5527 trace.prev = tracehead; tracehead = &trace;
5528 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction42].i]) return;
5529 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction42].i] = 1;
5530 tracehead = trace.prev;
5531 return;
5532 }
5533 void parser___ReduceAction43___action(val_t self, val_t param0) {
5534 struct trace_t trace = {NULL, "parser::ReduceAction43::action (src/parser//parser.nit:2574,2--2628:33)"};
5535 val_t variable0;
5536 val_t variable1;
5537 val_t variable2;
5538 val_t variable3;
5539 val_t variable4;
5540 val_t variable5;
5541 val_t variable6;
5542 val_t variable7;
5543 val_t variable8;
5544 val_t variable9;
5545 val_t variable10;
5546 val_t variable11;
5547 val_t variable12;
5548 val_t variable13;
5549 val_t variable14;
5550 val_t variable15;
5551 val_t variable16;
5552 val_t variable17;
5553 val_t variable18;
5554 trace.prev = tracehead; tracehead = &trace;
5555 variable0 = param0;
5556 variable1 = NIT_NULL /*null*/;
5557 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5558 variable2 = variable3;
5559 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5560 variable3 = variable4;
5561 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5562 variable4 = variable5;
5563 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5564 variable5 = variable6;
5565 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5566 variable6 = variable7;
5567 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5568 variable7 = variable8;
5569 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
5570 variable8 = variable9;
5571 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
5572 variable9 = variable10;
5573 variable10 = variable7 /*nodearraylist1*/;
5574 variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5575 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2586,6--46\n"); nit_exit(1);}
5576 variable11 = variable6 /*nodearraylist2*/;
5577 variable12 = TAG_Bool(( variable11 /*listnode4*/==NIT_NULL) || VAL_ISA( variable11 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5578 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2588,6--38\n"); nit_exit(1);}
5579 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
5580 variable12 = variable13;
5581 variable13 = variable5 /*nodearraylist3*/;
5582 variable14 = TAG_Bool(( variable13 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5583 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2591,6--38\n"); nit_exit(1);}
5584 variable14 = variable3 /*nodearraylist5*/;
5585 variable15 = TAG_Bool(( variable14 /*listnode7*/==NIT_NULL) || VAL_ISA( variable14 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5586 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2593,6--38\n"); nit_exit(1);}
5587 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable13 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
5588 if (UNTAG_Bool(variable15)) { /*if*/
5589 ((array___AbstractArray___add_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode8*/, variable13 /*ppropdefnode6*/) /*Array::add*/;
5590 }
5591 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*listnode7*/ == NIT_NULL /*null*/) || (( variable14 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable14 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
5592 if (UNTAG_Bool(variable15)) { /*if*/
5593 variable15 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*Array::is_empty*/;
5594 if (UNTAG_Bool(variable15)) { /*if*/
5595 variable12 = variable14 /*listnode7*/ /*listnode8=*/;
5596 } else { /*if*/
5597 ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/, variable14 /*listnode7*/) /*Array::append*/;
5598 }
5599 }
5600 variable16 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode8*/); /*new ATopClassdef*/
5601 variable15 = variable16;
5602 variable16 = variable2 /*nodearraylist6*/;
5603 variable17 = TAG_Bool(( variable16 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5604 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2608,6--40\n"); nit_exit(1);}
5605 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode4*/ == NIT_NULL /*null*/) || (( variable11 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
5606 if (UNTAG_Bool(variable17)) { /*if*/
5607 variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode10*/) /*Array::is_empty*/;
5608 if (UNTAG_Bool(variable17)) { /*if*/
5609 variable9 = variable11 /*listnode4*/ /*listnode10=*/;
5610 } else { /*if*/
5611 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode10*/, variable11 /*listnode4*/) /*Array::append*/;
5612 }
5613 }
5614 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable15 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
5615 if (UNTAG_Bool(variable17)) { /*if*/
5616 ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable15 /*pclassdefnode5*/) /*Array::add*/;
5617 }
5618 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable16 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
5619 if (UNTAG_Bool(variable17)) { /*if*/
5620 ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable16 /*pclassdefnode9*/) /*Array::add*/;
5621 }
5622 variable18 = NEW_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/, variable8 /*listnode3*/, variable9 /*listnode10*/); /*new AModule*/
5623 variable17 = variable18;
5624 variable1 = variable17 /*pmodulenode1*/ /*node_list=*/;
5625 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5626 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
5627 tracehead = trace.prev;
5628 return;
5629 }
5630 void parser___ReduceAction43___init(val_t self, int* init_table) {
5631 struct trace_t trace = {NULL, "parser::ReduceAction43::init (src/parser//parser.nit:2630,1--4)"};
5632 trace.prev = tracehead; tracehead = &trace;
5633 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction43].i]) return;
5634 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction43].i] = 1;
5635 tracehead = trace.prev;
5636 return;
5637 }
5638 void parser___ReduceAction44___action(val_t self, val_t param0) {
5639 struct trace_t trace = {NULL, "parser::ReduceAction44::action (src/parser//parser.nit:2634,2--2685:33)"};
5640 val_t variable0;
5641 val_t variable1;
5642 val_t variable2;
5643 val_t variable3;
5644 val_t variable4;
5645 val_t variable5;
5646 val_t variable6;
5647 val_t variable7;
5648 val_t variable8;
5649 val_t variable9;
5650 val_t variable10;
5651 val_t variable11;
5652 val_t variable12;
5653 val_t variable13;
5654 val_t variable14;
5655 val_t variable15;
5656 val_t variable16;
5657 trace.prev = tracehead; tracehead = &trace;
5658 variable0 = param0;
5659 variable1 = NIT_NULL /*null*/;
5660 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5661 variable2 = variable3;
5662 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5663 variable3 = variable4;
5664 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5665 variable4 = variable5;
5666 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5667 variable5 = variable6;
5668 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5669 variable6 = variable7;
5670 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
5671 variable7 = variable8;
5672 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
5673 variable8 = variable9;
5674 variable9 = variable6 /*nodearraylist1*/;
5675 variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5676 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2645,6--38\n"); nit_exit(1);}
5677 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
5678 if (UNTAG_Bool(variable10)) { /*if*/
5679 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
5680 if (UNTAG_Bool(variable10)) { /*if*/
5681 variable7 = variable9 /*listnode3*/ /*listnode4=*/;
5682 } else { /*if*/
5683 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/;
5684 }
5685 }
5686 variable10 = variable5 /*nodearraylist2*/;
5687 variable11 = TAG_Bool(( variable10 /*listnode5*/==NIT_NULL) || VAL_ISA( variable10 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5688 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2654,6--38\n"); nit_exit(1);}
5689 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
5690 variable11 = variable12;
5691 variable12 = variable4 /*nodearraylist3*/;
5692 variable13 = TAG_Bool(( variable12 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5693 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2657,6--38\n"); nit_exit(1);}
5694 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable12 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
5695 if (UNTAG_Bool(variable13)) { /*if*/
5696 ((array___AbstractArray___add_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode8*/, variable12 /*ppropdefnode7*/) /*Array::add*/;
5697 }
5698 variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode8*/); /*new ATopClassdef*/
5699 variable13 = variable14;
5700 variable14 = variable2 /*nodearraylist5*/;
5701 variable15 = TAG_Bool(( variable14 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5702 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2665,6--40\n"); nit_exit(1);}
5703 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode5*/ == NIT_NULL /*null*/) || (( variable10 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
5704 if (UNTAG_Bool(variable15)) { /*if*/
5705 variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode10*/) /*Array::is_empty*/;
5706 if (UNTAG_Bool(variable15)) { /*if*/
5707 variable8 = variable10 /*listnode5*/ /*listnode10=*/;
5708 } else { /*if*/
5709 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode10*/, variable10 /*listnode5*/) /*Array::append*/;
5710 }
5711 }
5712 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable13 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
5713 if (UNTAG_Bool(variable15)) { /*if*/
5714 ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable13 /*pclassdefnode6*/) /*Array::add*/;
5715 }
5716 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
5717 if (UNTAG_Bool(variable15)) { /*if*/
5718 ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable14 /*pclassdefnode9*/) /*Array::add*/;
5719 }
5720 variable16 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable7 /*listnode4*/, variable8 /*listnode10*/); /*new AModule*/
5721 variable15 = variable16;
5722 variable1 = variable15 /*pmodulenode1*/ /*node_list=*/;
5723 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5724 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
5725 tracehead = trace.prev;
5726 return;
5727 }
5728 void parser___ReduceAction44___init(val_t self, int* init_table) {
5729 struct trace_t trace = {NULL, "parser::ReduceAction44::init (src/parser//parser.nit:2687,1--4)"};
5730 trace.prev = tracehead; tracehead = &trace;
5731 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction44].i]) return;
5732 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction44].i] = 1;
5733 tracehead = trace.prev;
5734 return;
5735 }
5736 void parser___ReduceAction45___action(val_t self, val_t param0) {
5737 struct trace_t trace = {NULL, "parser::ReduceAction45::action (src/parser//parser.nit:2691,2--2752:33)"};
5738 val_t variable0;
5739 val_t variable1;
5740 val_t variable2;
5741 val_t variable3;
5742 val_t variable4;
5743 val_t variable5;
5744 val_t variable6;
5745 val_t variable7;
5746 val_t variable8;
5747 val_t variable9;
5748 val_t variable10;
5749 val_t variable11;
5750 val_t variable12;
5751 val_t variable13;
5752 val_t variable14;
5753 val_t variable15;
5754 val_t variable16;
5755 val_t variable17;
5756 val_t variable18;
5757 trace.prev = tracehead; tracehead = &trace;
5758 variable0 = param0;
5759 variable1 = NIT_NULL /*null*/;
5760 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5761 variable2 = variable3;
5762 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5763 variable3 = variable4;
5764 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5765 variable4 = variable5;
5766 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5767 variable5 = variable6;
5768 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5769 variable6 = variable7;
5770 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5771 variable7 = variable8;
5772 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
5773 variable8 = variable9;
5774 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
5775 variable9 = variable10;
5776 variable10 = variable7 /*nodearraylist1*/;
5777 variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5778 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2703,6--38\n"); nit_exit(1);}
5779 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ == NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
5780 if (UNTAG_Bool(variable11)) { /*if*/
5781 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/;
5782 if (UNTAG_Bool(variable11)) { /*if*/
5783 variable8 = variable10 /*listnode3*/ /*listnode4=*/;
5784 } else { /*if*/
5785 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/, variable10 /*listnode3*/) /*Array::append*/;
5786 }
5787 }
5788 variable11 = variable6 /*nodearraylist2*/;
5789 variable12 = TAG_Bool(( variable11 /*listnode5*/==NIT_NULL) || VAL_ISA( variable11 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5790 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2712,6--38\n"); nit_exit(1);}
5791 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
5792 variable12 = variable13;
5793 variable13 = variable5 /*nodearraylist3*/;
5794 variable14 = TAG_Bool(( variable13 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5795 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2715,6--38\n"); nit_exit(1);}
5796 variable14 = variable3 /*nodearraylist5*/;
5797 variable15 = TAG_Bool(( variable14 /*listnode8*/==NIT_NULL) || VAL_ISA( variable14 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5798 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2717,6--38\n"); nit_exit(1);}
5799 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable13 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
5800 if (UNTAG_Bool(variable15)) { /*if*/
5801 ((array___AbstractArray___add_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode9*/, variable13 /*ppropdefnode7*/) /*Array::add*/;
5802 }
5803 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*listnode8*/ == NIT_NULL /*null*/) || (( variable14 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable14 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/)))));
5804 if (UNTAG_Bool(variable15)) { /*if*/
5805 variable15 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode9*/) /*Array::is_empty*/;
5806 if (UNTAG_Bool(variable15)) { /*if*/
5807 variable12 = variable14 /*listnode8*/ /*listnode9=*/;
5808 } else { /*if*/
5809 ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode9*/, variable14 /*listnode8*/) /*Array::append*/;
5810 }
5811 }
5812 variable16 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode9*/); /*new ATopClassdef*/
5813 variable15 = variable16;
5814 variable16 = variable2 /*nodearraylist6*/;
5815 variable17 = TAG_Bool(( variable16 /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5816 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2732,6--41\n"); nit_exit(1);}
5817 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode5*/ == NIT_NULL /*null*/) || (( variable11 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
5818 if (UNTAG_Bool(variable17)) { /*if*/
5819 variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode11*/) /*Array::is_empty*/;
5820 if (UNTAG_Bool(variable17)) { /*if*/
5821 variable9 = variable11 /*listnode5*/ /*listnode11=*/;
5822 } else { /*if*/
5823 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode11*/, variable11 /*listnode5*/) /*Array::append*/;
5824 }
5825 }
5826 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable15 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
5827 if (UNTAG_Bool(variable17)) { /*if*/
5828 ((array___AbstractArray___add_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode11*/, variable15 /*pclassdefnode6*/) /*Array::add*/;
5829 }
5830 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode10*/ == NIT_NULL /*null*/) || (( variable16 /*pclassdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode10*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
5831 if (UNTAG_Bool(variable17)) { /*if*/
5832 ((array___AbstractArray___add_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode11*/, variable16 /*pclassdefnode10*/) /*Array::add*/;
5833 }
5834 variable18 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable8 /*listnode4*/, variable9 /*listnode11*/); /*new AModule*/
5835 variable17 = variable18;
5836 variable1 = variable17 /*pmodulenode1*/ /*node_list=*/;
5837 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5838 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
5839 tracehead = trace.prev;
5840 return;
5841 }
5842 void parser___ReduceAction45___init(val_t self, int* init_table) {
5843 struct trace_t trace = {NULL, "parser::ReduceAction45::init (src/parser//parser.nit:2754,1--4)"};
5844 trace.prev = tracehead; tracehead = &trace;
5845 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction45].i]) return;
5846 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction45].i] = 1;
5847 tracehead = trace.prev;
5848 return;
5849 }
5850 void parser___ReduceAction46___action(val_t self, val_t param0) {
5851 struct trace_t trace = {NULL, "parser::ReduceAction46::action (src/parser//parser.nit:2758,2--2812:33)"};
5852 val_t variable0;
5853 val_t variable1;
5854 val_t variable2;
5855 val_t variable3;
5856 val_t variable4;
5857 val_t variable5;
5858 val_t variable6;
5859 val_t variable7;
5860 val_t variable8;
5861 val_t variable9;
5862 val_t variable10;
5863 val_t variable11;
5864 val_t variable12;
5865 val_t variable13;
5866 val_t variable14;
5867 val_t variable15;
5868 val_t variable16;
5869 val_t variable17;
5870 val_t variable18;
5871 trace.prev = tracehead; tracehead = &trace;
5872 variable0 = param0;
5873 variable1 = NIT_NULL /*null*/;
5874 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5875 variable2 = variable3;
5876 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5877 variable3 = variable4;
5878 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5879 variable4 = variable5;
5880 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5881 variable5 = variable6;
5882 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5883 variable6 = variable7;
5884 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5885 variable7 = variable8;
5886 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
5887 variable8 = variable9;
5888 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
5889 variable9 = variable10;
5890 variable10 = variable7 /*nodearraylist1*/;
5891 variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5892 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2770,6--46\n"); nit_exit(1);}
5893 variable11 = variable6 /*nodearraylist2*/;
5894 variable12 = TAG_Bool(( variable11 /*listnode3*/==NIT_NULL) || VAL_ISA( variable11 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5895 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2772,6--38\n"); nit_exit(1);}
5896 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode3*/ == NIT_NULL /*null*/) || (( variable11 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
5897 if (UNTAG_Bool(variable12)) { /*if*/
5898 variable12 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/;
5899 if (UNTAG_Bool(variable12)) { /*if*/
5900 variable8 = variable11 /*listnode3*/ /*listnode4=*/;
5901 } else { /*if*/
5902 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/, variable11 /*listnode3*/) /*Array::append*/;
5903 }
5904 }
5905 variable12 = variable5 /*nodearraylist3*/;
5906 variable13 = TAG_Bool(( variable12 /*listnode5*/==NIT_NULL) || VAL_ISA( variable12 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5907 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2781,6--38\n"); nit_exit(1);}
5908 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
5909 variable13 = variable14;
5910 variable14 = variable4 /*nodearraylist4*/;
5911 variable15 = TAG_Bool(( variable14 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5912 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2784,6--38\n"); nit_exit(1);}
5913 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable14 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
5914 if (UNTAG_Bool(variable15)) { /*if*/
5915 ((array___AbstractArray___add_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode8*/, variable14 /*ppropdefnode7*/) /*Array::add*/;
5916 }
5917 variable16 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable13 /*listnode8*/); /*new ATopClassdef*/
5918 variable15 = variable16;
5919 variable16 = variable2 /*nodearraylist6*/;
5920 variable17 = TAG_Bool(( variable16 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5921 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2792,6--40\n"); nit_exit(1);}
5922 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode5*/ == NIT_NULL /*null*/) || (( variable12 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
5923 if (UNTAG_Bool(variable17)) { /*if*/
5924 variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode10*/) /*Array::is_empty*/;
5925 if (UNTAG_Bool(variable17)) { /*if*/
5926 variable9 = variable12 /*listnode5*/ /*listnode10=*/;
5927 } else { /*if*/
5928 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode10*/, variable12 /*listnode5*/) /*Array::append*/;
5929 }
5930 }
5931 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable15 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
5932 if (UNTAG_Bool(variable17)) { /*if*/
5933 ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable15 /*pclassdefnode6*/) /*Array::add*/;
5934 }
5935 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable16 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
5936 if (UNTAG_Bool(variable17)) { /*if*/
5937 ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable16 /*pclassdefnode9*/) /*Array::add*/;
5938 }
5939 variable18 = NEW_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/, variable8 /*listnode4*/, variable9 /*listnode10*/); /*new AModule*/
5940 variable17 = variable18;
5941 variable1 = variable17 /*pmodulenode1*/ /*node_list=*/;
5942 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5943 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
5944 tracehead = trace.prev;
5945 return;
5946 }
5947 void parser___ReduceAction46___init(val_t self, int* init_table) {
5948 struct trace_t trace = {NULL, "parser::ReduceAction46::init (src/parser//parser.nit:2814,1--4)"};
5949 trace.prev = tracehead; tracehead = &trace;
5950 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction46].i]) return;
5951 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction46].i] = 1;
5952 tracehead = trace.prev;
5953 return;
5954 }
5955 void parser___ReduceAction47___action(val_t self, val_t param0) {
5956 struct trace_t trace = {NULL, "parser::ReduceAction47::action (src/parser//parser.nit:2818,2--2882:33)"};
5957 val_t variable0;
5958 val_t variable1;
5959 val_t variable2;
5960 val_t variable3;
5961 val_t variable4;
5962 val_t variable5;
5963 val_t variable6;
5964 val_t variable7;
5965 val_t variable8;
5966 val_t variable9;
5967 val_t variable10;
5968 val_t variable11;
5969 val_t variable12;
5970 val_t variable13;
5971 val_t variable14;
5972 val_t variable15;
5973 val_t variable16;
5974 val_t variable17;
5975 val_t variable18;
5976 val_t variable19;
5977 val_t variable20;
5978 trace.prev = tracehead; tracehead = &trace;
5979 variable0 = param0;
5980 variable1 = NIT_NULL /*null*/;
5981 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5982 variable2 = variable3;
5983 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5984 variable3 = variable4;
5985 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5986 variable4 = variable5;
5987 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5988 variable5 = variable6;
5989 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5990 variable6 = variable7;
5991 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5992 variable7 = variable8;
5993 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
5994 variable8 = variable9;
5995 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
5996 variable9 = variable10;
5997 variable11 = NEW_array___Array___init(); /*new Array[Object]*/
5998 variable10 = variable11;
5999 variable11 = variable8 /*nodearraylist1*/;
6000 variable12 = TAG_Bool(( variable11 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable11 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
6001 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2831,6--46\n"); nit_exit(1);}
6002 variable12 = variable7 /*nodearraylist2*/;
6003 variable13 = TAG_Bool(( variable12 /*listnode3*/==NIT_NULL) || VAL_ISA( variable12 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6004 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2833,6--38\n"); nit_exit(1);}
6005 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode3*/ == NIT_NULL /*null*/) || (( variable12 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
6006 if (UNTAG_Bool(variable13)) { /*if*/
6007 variable13 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode4*/) /*Array::is_empty*/;
6008 if (UNTAG_Bool(variable13)) { /*if*/
6009 variable9 = variable12 /*listnode3*/ /*listnode4=*/;
6010 } else { /*if*/
6011 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode4*/, variable12 /*listnode3*/) /*Array::append*/;
6012 }
6013 }
6014 variable13 = variable6 /*nodearraylist3*/;
6015 variable14 = TAG_Bool(( variable13 /*listnode5*/==NIT_NULL) || VAL_ISA( variable13 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6016 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2842,6--38\n"); nit_exit(1);}
6017 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
6018 variable14 = variable15;
6019 variable15 = variable5 /*nodearraylist4*/;
6020 variable16 = TAG_Bool(( variable15 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6021 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2845,6--38\n"); nit_exit(1);}
6022 variable16 = variable3 /*nodearraylist6*/;
6023 variable17 = TAG_Bool(( variable16 /*listnode8*/==NIT_NULL) || VAL_ISA( variable16 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6024 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2847,6--38\n"); nit_exit(1);}
6025 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable15 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable15 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
6026 if (UNTAG_Bool(variable17)) { /*if*/
6027 ((array___AbstractArray___add_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode9*/, variable15 /*ppropdefnode7*/) /*Array::add*/;
6028 }
6029 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*listnode8*/ == NIT_NULL /*null*/) || (( variable16 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable16 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable16 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/)))));
6030 if (UNTAG_Bool(variable17)) { /*if*/
6031 variable17 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode9*/) /*Array::is_empty*/;
6032 if (UNTAG_Bool(variable17)) { /*if*/
6033 variable14 = variable16 /*listnode8*/ /*listnode9=*/;
6034 } else { /*if*/
6035 ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode9*/, variable16 /*listnode8*/) /*Array::append*/;
6036 }
6037 }
6038 variable18 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable14 /*listnode9*/); /*new ATopClassdef*/
6039 variable17 = variable18;
6040 variable18 = variable2 /*nodearraylist7*/;
6041 variable19 = TAG_Bool(( variable18 /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable18 /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
6042 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2862,6--41\n"); nit_exit(1);}
6043 variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ == NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
6044 if (UNTAG_Bool(variable19)) { /*if*/
6045 variable19 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode11*/) /*Array::is_empty*/;
6046 if (UNTAG_Bool(variable19)) { /*if*/
6047 variable10 = variable13 /*listnode5*/ /*listnode11=*/;
6048 } else { /*if*/
6049 ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode11*/, variable13 /*listnode5*/) /*Array::append*/;
6050 }
6051 }
6052 variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable17 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable17 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable17 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable17 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable17 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable17 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/)))))));
6053 if (UNTAG_Bool(variable19)) { /*if*/
6054 ((array___AbstractArray___add_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode11*/, variable17 /*pclassdefnode6*/) /*Array::add*/;
6055 }
6056 variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable18 /*pclassdefnode10*/ == NIT_NULL /*null*/) || (( variable18 /*pclassdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable18 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable18 /*pclassdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable18 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))( variable18 /*pclassdefnode10*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
6057 if (UNTAG_Bool(variable19)) { /*if*/
6058 ((array___AbstractArray___add_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode11*/, variable18 /*pclassdefnode10*/) /*Array::add*/;
6059 }
6060 variable20 = NEW_parser_prod___AModule___init_amodule( variable11 /*ppackagedeclnode2*/, variable9 /*listnode4*/, variable10 /*listnode11*/); /*new AModule*/
6061 variable19 = variable20;
6062 variable1 = variable19 /*pmodulenode1*/ /*node_list=*/;
6063 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/;
6064 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
6065 tracehead = trace.prev;
6066 return;
6067 }
6068 void parser___ReduceAction47___init(val_t self, int* init_table) {
6069 struct trace_t trace = {NULL, "parser::ReduceAction47::init (src/parser//parser.nit:2884,1--4)"};
6070 trace.prev = tracehead; tracehead = &trace;
6071 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction47].i]) return;
6072 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction47].i] = 1;
6073 tracehead = trace.prev;
6074 return;
6075 }
6076 void parser___ReduceAction48___action(val_t self, val_t param0) {
6077 struct trace_t trace = {NULL, "parser::ReduceAction48::action (src/parser//parser.nit:2888,2--2908:33)"};
6078 val_t variable0;
6079 val_t variable1;
6080 val_t variable2;
6081 val_t variable3;
6082 val_t variable4;
6083 val_t variable5;
6084 val_t variable6;
6085 val_t variable7;
6086 val_t variable8;
6087 val_t variable9;
6088 val_t variable10;
6089 val_t variable11;
6090 trace.prev = tracehead; tracehead = &trace;
6091 variable0 = param0;
6092 variable1 = NIT_NULL /*null*/;
6093 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6094 variable2 = variable3;
6095 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6096 variable3 = variable4;
6097 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6098 variable4 = variable5;
6099 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6100 variable5 = variable6;
6101 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6102 variable6 = variable7;
6103 variable7 = variable6 /*nodearraylist1*/;
6104 variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6105 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2897,6--30\n"); nit_exit(1);}
6106 variable8 = variable5 /*nodearraylist2*/;
6107 variable9 = TAG_Bool(( variable8 /*tkwpackagenode3*/==NIT_NULL) || VAL_ISA( variable8 /*tkwpackagenode3*/, COLOR_TKwpackage, ID_TKwpackage)) /*cast TKwpackage*/;
6108 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2899,6--42\n"); nit_exit(1);}
6109 variable9 = variable3 /*nodearraylist4*/;
6110 variable10 = TAG_Bool(( variable9 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
6111 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2901,6--28\n"); nit_exit(1);}
6112 variable11 = NEW_parser_prod___APackagedecl___init_apackagedecl( variable7 /*pdocnode2*/, variable8 /*tkwpackagenode3*/, variable9 /*tidnode4*/); /*new APackagedecl*/
6113 variable10 = variable11;
6114 variable1 = variable10 /*ppackagedeclnode1*/ /*node_list=*/;
6115 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(1)) /*Parser::go_to*/;
6116 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
6117 tracehead = trace.prev;
6118 return;
6119 }
6120 void parser___ReduceAction48___init(val_t self, int* init_table) {
6121 struct trace_t trace = {NULL, "parser::ReduceAction48::init (src/parser//parser.nit:2910,1--4)"};
6122 trace.prev = tracehead; tracehead = &trace;
6123 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction48].i]) return;
6124 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction48].i] = 1;
6125 tracehead = trace.prev;
6126 return;
6127 }
6128 void parser___ReduceAction49___action(val_t self, val_t param0) {
6129 struct trace_t trace = {NULL, "parser::ReduceAction49::action (src/parser//parser.nit:2914,2--2935:33)"};
6130 val_t variable0;
6131 val_t variable1;
6132 val_t variable2;
6133 val_t variable3;
6134 val_t variable4;
6135 val_t variable5;
6136 val_t variable6;
6137 val_t variable7;
6138 val_t variable8;
6139 val_t variable9;
6140 val_t variable10;
6141 val_t variable11;
6142 val_t variable12;
6143 trace.prev = tracehead; tracehead = &trace;
6144 variable0 = param0;
6145 variable1 = NIT_NULL /*null*/;
6146 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6147 variable2 = variable3;
6148 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6149 variable3 = variable4;
6150 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6151 variable4 = variable5;
6152 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6153 variable5 = variable6;
6154 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6155 variable6 = variable7;
6156 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6157 variable7 = variable8;
6158 variable8 = variable6 /*nodearraylist2*/;
6159 variable9 = TAG_Bool(( variable8 /*pvisibilitynode2*/==NIT_NULL) || VAL_ISA( variable8 /*pvisibilitynode2*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6160 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2924,6--44\n"); nit_exit(1);}
6161 variable9 = variable5 /*nodearraylist3*/;
6162 variable10 = TAG_Bool(( variable9 /*tkwimportnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwimportnode3*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
6163 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2926,6--40\n"); nit_exit(1);}
6164 variable10 = variable3 /*nodearraylist5*/;
6165 variable11 = TAG_Bool(( variable10 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
6166 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2928,6--28\n"); nit_exit(1);}
6167 variable12 = NEW_parser_prod___AImport___init_aimport( variable8 /*pvisibilitynode2*/, variable9 /*tkwimportnode3*/, variable10 /*tidnode4*/); /*new AImport*/
6168 variable11 = variable12;
6169 variable1 = variable11 /*pimportnode1*/ /*node_list=*/;
6170 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(2)) /*Parser::go_to*/;
6171 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
6172 tracehead = trace.prev;
6173 return;
6174 }
6175 void parser___ReduceAction49___init(val_t self, int* init_table) {
6176 struct trace_t trace = {NULL, "parser::ReduceAction49::init (src/parser//parser.nit:2937,1--4)"};
6177 trace.prev = tracehead; tracehead = &trace;
6178 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction49].i]) return;
6179 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction49].i] = 1;
6180 tracehead = trace.prev;
6181 return;
6182 }
6183 void parser___ReduceAction50___action(val_t self, val_t param0) {
6184 struct trace_t trace = {NULL, "parser::ReduceAction50::action (src/parser//parser.nit:2941,2--2962:33)"};
6185 val_t variable0;
6186 val_t variable1;
6187 val_t variable2;
6188 val_t variable3;
6189 val_t variable4;
6190 val_t variable5;
6191 val_t variable6;
6192 val_t variable7;
6193 val_t variable8;
6194 val_t variable9;
6195 val_t variable10;
6196 val_t variable11;
6197 val_t variable12;
6198 trace.prev = tracehead; tracehead = &trace;
6199 variable0 = param0;
6200 variable1 = NIT_NULL /*null*/;
6201 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6202 variable2 = variable3;
6203 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6204 variable3 = variable4;
6205 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6206 variable4 = variable5;
6207 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6208 variable5 = variable6;
6209 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6210 variable6 = variable7;
6211 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6212 variable7 = variable8;
6213 variable8 = variable6 /*nodearraylist2*/;
6214 variable9 = TAG_Bool(( variable8 /*pvisibilitynode2*/==NIT_NULL) || VAL_ISA( variable8 /*pvisibilitynode2*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6215 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2951,6--44\n"); nit_exit(1);}
6216 variable9 = variable5 /*nodearraylist3*/;
6217 variable10 = TAG_Bool(( variable9 /*tkwimportnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwimportnode3*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
6218 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2953,6--40\n"); nit_exit(1);}
6219 variable10 = variable3 /*nodearraylist5*/;
6220 variable11 = TAG_Bool(( variable10 /*tkwendnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwendnode4*/, COLOR_TKwend, ID_TKwend)) /*cast TKwend*/;
6221 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2955,6--34\n"); nit_exit(1);}
6222 variable12 = NEW_parser_prod___ANoImport___init_anoimport( variable8 /*pvisibilitynode2*/, variable9 /*tkwimportnode3*/, variable10 /*tkwendnode4*/); /*new ANoImport*/
6223 variable11 = variable12;
6224 variable1 = variable11 /*pimportnode1*/ /*node_list=*/;
6225 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(2)) /*Parser::go_to*/;
6226 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
6227 tracehead = trace.prev;
6228 return;
6229 }
6230 void parser___ReduceAction50___init(val_t self, int* init_table) {
6231 struct trace_t trace = {NULL, "parser::ReduceAction50::init (src/parser//parser.nit:2964,1--4)"};
6232 trace.prev = tracehead; tracehead = &trace;
6233 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction50].i]) return;
6234 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction50].i] = 1;
6235 tracehead = trace.prev;
6236 return;
6237 }
6238 void parser___ReduceAction51___action(val_t self, val_t param0) {
6239 struct trace_t trace = {NULL, "parser::ReduceAction51::action (src/parser//parser.nit:2968,2--2982:33)"};
6240 val_t variable0;
6241 val_t variable1;
6242 val_t variable2;
6243 val_t variable3;
6244 val_t variable4;
6245 val_t variable5;
6246 val_t variable6;
6247 trace.prev = tracehead; tracehead = &trace;
6248 variable0 = param0;
6249 variable1 = NIT_NULL /*null*/;
6250 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6251 variable2 = variable3;
6252 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
6253 variable3 = variable4;
6254 variable4 = variable2 /*nodearraylist1*/;
6255 variable5 = TAG_Bool(( variable4 /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6256 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2974,6--38\n"); nit_exit(1);}
6257 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ppropdefnode2*/ == NIT_NULL /*null*/) || (( variable4 /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*ppropdefnode2*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
6258 if (UNTAG_Bool(variable5)) { /*if*/
6259 ((array___AbstractArray___add_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode3*/, variable4 /*ppropdefnode2*/) /*Array::add*/;
6260 }
6261 variable6 = NEW_parser_prod___AMainClassdef___init_amainclassdef( variable3 /*listnode3*/); /*new AMainClassdef*/
6262 variable5 = variable6;
6263 variable1 = variable5 /*pclassdefnode1*/ /*node_list=*/;
6264 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(3)) /*Parser::go_to*/;
6265 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
6266 tracehead = trace.prev;
6267 return;
6268 }
6269 void parser___ReduceAction51___init(val_t self, int* init_table) {
6270 struct trace_t trace = {NULL, "parser::ReduceAction51::init (src/parser//parser.nit:2984,1--4)"};
6271 trace.prev = tracehead; tracehead = &trace;
6272 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction51].i]) return;
6273 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction51].i] = 1;
6274 tracehead = trace.prev;
6275 return;
6276 }
6277 void parser___ReduceAction52___action(val_t self, val_t param0) {
6278 struct trace_t trace = {NULL, "parser::ReduceAction52::action (src/parser//parser.nit:2988,2--2993:33)"};
6279 val_t variable0;
6280 val_t variable1;
6281 val_t variable2;
6282 val_t variable3;
6283 trace.prev = tracehead; tracehead = &trace;
6284 variable0 = param0;
6285 variable1 = NIT_NULL /*null*/;
6286 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6287 variable2 = variable3;
6288 variable1 = NIT_NULL /*null*/ /*node_list=*/;
6289 variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(3)) /*Parser::go_to*/;
6290 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/;
6291 tracehead = trace.prev;
6292 return;
6293 }
6294 void parser___ReduceAction52___init(val_t self, int* init_table) {
6295 struct trace_t trace = {NULL, "parser::ReduceAction52::init (src/parser//parser.nit:2995,1--4)"};
6296 trace.prev = tracehead; tracehead = &trace;
6297 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction52].i]) return;
6298 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction52].i] = 1;
6299 tracehead = trace.prev;
6300 return;
6301 }
6302 void parser___ReduceAction53___action(val_t self, val_t param0) {
6303 struct trace_t trace = {NULL, "parser::ReduceAction53::action (src/parser//parser.nit:2999,2--3019:33)"};
6304 val_t variable0;
6305 val_t variable1;
6306 val_t variable2;
6307 val_t variable3;
6308 val_t variable4;
6309 val_t variable5;
6310 val_t variable6;
6311 val_t variable7;
6312 val_t variable8;
6313 val_t variable9;
6314 trace.prev = tracehead; tracehead = &trace;
6315 variable0 = param0;
6316 variable1 = NIT_NULL /*null*/;
6317 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6318 variable2 = variable3;
6319 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6320 variable3 = variable4;
6321 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6322 variable4 = variable5;
6323 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
6324 variable5 = variable6;
6325 variable6 = variable3 /*nodearraylist2*/;
6326 variable7 = TAG_Bool(( variable6 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
6327 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3007,6--32\n"); nit_exit(1);}
6328 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode4*/ == NIT_NULL /*null*/) || (( variable6 /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode4*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
6329 if (UNTAG_Bool(variable7)) { /*if*/
6330 ((array___AbstractArray___add_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode5*/, variable6 /*pexprnode4*/) /*Array::add*/;
6331 }
6332 variable8 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable5 /*listnode5*/); /*new ABlockExpr*/
6333 variable7 = variable8;
6334 variable9 = NEW_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/, variable7 /*pexprnode3*/); /*new AMainMethPropdef*/
6335 variable8 = variable9;
6336 variable1 = variable8 /*ppropdefnode1*/ /*node_list=*/;
6337 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(4)) /*Parser::go_to*/;
6338 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
6339 tracehead = trace.prev;
6340 return;
6341 }
6342 void parser___ReduceAction53___init(val_t self, int* init_table) {
6343 struct trace_t trace = {NULL, "parser::ReduceAction53::init (src/parser//parser.nit:3021,1--4)"};
6344 trace.prev = tracehead; tracehead = &trace;
6345 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction53].i]) return;
6346 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction53].i] = 1;
6347 tracehead = trace.prev;
6348 return;
6349 }
6350 void parser___ReduceAction54___action(val_t self, val_t param0) {
6351 struct trace_t trace = {NULL, "parser::ReduceAction54::action (src/parser//parser.nit:3025,2--3055:33)"};
6352 val_t variable0;
6353 val_t variable1;
6354 val_t variable2;
6355 val_t variable3;
6356 val_t variable4;
6357 val_t variable5;
6358 val_t variable6;
6359 val_t variable7;
6360 val_t variable8;
6361 val_t variable9;
6362 val_t variable10;
6363 val_t variable11;
6364 trace.prev = tracehead; tracehead = &trace;
6365 variable0 = param0;
6366 variable1 = NIT_NULL /*null*/;
6367 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6368 variable2 = variable3;
6369 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6370 variable3 = variable4;
6371 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6372 variable4 = variable5;
6373 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6374 variable5 = variable6;
6375 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
6376 variable6 = variable7;
6377 variable7 = variable4 /*nodearraylist2*/;
6378 variable8 = TAG_Bool(( variable7 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
6379 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3034,6--32\n"); nit_exit(1);}
6380 variable8 = variable3 /*nodearraylist3*/;
6381 variable9 = TAG_Bool(( variable8 /*listnode5*/==NIT_NULL) || VAL_ISA( variable8 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6382 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3036,6--38\n"); nit_exit(1);}
6383 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode4*/ == NIT_NULL /*null*/) || (( variable7 /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode4*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
6384 if (UNTAG_Bool(variable9)) { /*if*/
6385 ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/, variable7 /*pexprnode4*/) /*Array::add*/;
6386 }
6387 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode5*/ == NIT_NULL /*null*/) || (( variable8 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
6388 if (UNTAG_Bool(variable9)) { /*if*/
6389 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
6390 if (UNTAG_Bool(variable9)) { /*if*/
6391 variable6 = variable8 /*listnode5*/ /*listnode6=*/;
6392 } else { /*if*/
6393 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable8 /*listnode5*/) /*Array::append*/;
6394 }
6395 }
6396 variable10 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode6*/); /*new ABlockExpr*/
6397 variable9 = variable10;
6398 variable11 = NEW_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/, variable9 /*pexprnode3*/); /*new AMainMethPropdef*/
6399 variable10 = variable11;
6400 variable1 = variable10 /*ppropdefnode1*/ /*node_list=*/;
6401 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(4)) /*Parser::go_to*/;
6402 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
6403 tracehead = trace.prev;
6404 return;
6405 }
6406 void parser___ReduceAction54___init(val_t self, int* init_table) {
6407 struct trace_t trace = {NULL, "parser::ReduceAction54::init (src/parser//parser.nit:3057,1--4)"};
6408 trace.prev = tracehead; tracehead = &trace;
6409 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction54].i]) return;
6410 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction54].i] = 1;
6411 tracehead = trace.prev;
6412 return;
6413 }
6414 void parser___ReduceAction55___action(val_t self, val_t param0) {
6415 struct trace_t trace = {NULL, "parser::ReduceAction55::action (src/parser//parser.nit:3061,2--3093:33)"};
6416 val_t variable0;
6417 val_t variable1;
6418 val_t variable2;
6419 val_t variable3;
6420 val_t variable4;
6421 val_t variable5;
6422 val_t variable6;
6423 val_t variable7;
6424 val_t variable8;
6425 val_t variable9;
6426 val_t variable10;
6427 val_t variable11;
6428 val_t variable12;
6429 val_t variable13;
6430 val_t variable14;
6431 val_t variable15;
6432 val_t variable16;
6433 val_t variable17;
6434 trace.prev = tracehead; tracehead = &trace;
6435 variable0 = param0;
6436 variable1 = NIT_NULL /*null*/;
6437 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6438 variable2 = variable3;
6439 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6440 variable3 = variable4;
6441 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6442 variable4 = variable5;
6443 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6444 variable5 = variable6;
6445 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6446 variable6 = variable7;
6447 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6448 variable7 = variable8;
6449 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6450 variable8 = variable9;
6451 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
6452 variable9 = variable10;
6453 variable11 = NEW_array___Array___init(); /*new Array[Object]*/
6454 variable10 = variable11;
6455 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
6456 variable11 = variable12;
6457 variable12 = variable8 /*nodearraylist1*/;
6458 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6459 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3075,6--30\n"); nit_exit(1);}
6460 variable13 = variable7 /*nodearraylist2*/;
6461 variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6462 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3077,6--44\n"); nit_exit(1);}
6463 variable14 = variable6 /*nodearraylist3*/;
6464 variable15 = TAG_Bool(( variable14 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable14 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6465 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3079,6--42\n"); nit_exit(1);}
6466 variable15 = variable4 /*nodearraylist5*/;
6467 variable16 = TAG_Bool(( variable15 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6468 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3081,6--38\n"); nit_exit(1);}
6469 variable17 = NEW_parser_prod___AClassdef___init_aclassdef( variable12 /*pdocnode2*/, NIT_NULL /*null*/, variable13 /*pvisibilitynode4*/, variable14 /*pclasskindnode5*/, variable15 /*tclassidnode6*/, variable9 /*listnode7*/, variable10 /*listnode8*/, variable11 /*listnode9*/); /*new AClassdef*/
6470 variable16 = variable17;
6471 variable1 = variable16 /*pclassdefnode1*/ /*node_list=*/;
6472 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6473 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
6474 tracehead = trace.prev;
6475 return;
6476 }
6477 void parser___ReduceAction55___init(val_t self, int* init_table) {
6478 struct trace_t trace = {NULL, "parser::ReduceAction55::init (src/parser//parser.nit:3095,1--4)"};
6479 trace.prev = tracehead; tracehead = &trace;
6480 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction55].i]) return;
6481 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction55].i] = 1;
6482 tracehead = trace.prev;
6483 return;
6484 }
6485 void parser___ReduceAction56___action(val_t self, val_t param0) {
6486 struct trace_t trace = {NULL, "parser::ReduceAction56::action (src/parser//parser.nit:3099,2--3134:33)"};
6487 val_t variable0;
6488 val_t variable1;
6489 val_t variable2;
6490 val_t variable3;
6491 val_t variable4;
6492 val_t variable5;
6493 val_t variable6;
6494 val_t variable7;
6495 val_t variable8;
6496 val_t variable9;
6497 val_t variable10;
6498 val_t variable11;
6499 val_t variable12;
6500 val_t variable13;
6501 val_t variable14;
6502 val_t variable15;
6503 val_t variable16;
6504 val_t variable17;
6505 val_t variable18;
6506 val_t variable19;
6507 trace.prev = tracehead; tracehead = &trace;
6508 variable0 = param0;
6509 variable1 = NIT_NULL /*null*/;
6510 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6511 variable2 = variable3;
6512 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6513 variable3 = variable4;
6514 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6515 variable4 = variable5;
6516 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6517 variable5 = variable6;
6518 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6519 variable6 = variable7;
6520 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6521 variable7 = variable8;
6522 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6523 variable8 = variable9;
6524 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6525 variable9 = variable10;
6526 variable11 = NEW_array___Array___init(); /*new Array[Object]*/
6527 variable10 = variable11;
6528 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
6529 variable11 = variable12;
6530 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
6531 variable12 = variable13;
6532 variable13 = variable9 /*nodearraylist1*/;
6533 variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6534 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3114,6--30\n"); nit_exit(1);}
6535 variable14 = variable8 /*nodearraylist2*/;
6536 variable15 = TAG_Bool(( variable14 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6537 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3116,6--38\n"); nit_exit(1);}
6538 variable15 = variable7 /*nodearraylist3*/;
6539 variable16 = TAG_Bool(( variable15 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6540 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3118,6--44\n"); nit_exit(1);}
6541 variable16 = variable6 /*nodearraylist4*/;
6542 variable17 = TAG_Bool(( variable16 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6543 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3120,6--42\n"); nit_exit(1);}
6544 variable17 = variable4 /*nodearraylist6*/;
6545 variable18 = TAG_Bool(( variable17 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable17 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6546 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3122,6--38\n"); nit_exit(1);}
6547 variable19 = NEW_parser_prod___AClassdef___init_aclassdef( variable13 /*pdocnode2*/, variable14 /*tkwredefnode3*/, variable15 /*pvisibilitynode4*/, variable16 /*pclasskindnode5*/, variable17 /*tclassidnode6*/, variable10 /*listnode7*/, variable11 /*listnode8*/, variable12 /*listnode9*/); /*new AClassdef*/
6548 variable18 = variable19;
6549 variable1 = variable18 /*pclassdefnode1*/ /*node_list=*/;
6550 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6551 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
6552 tracehead = trace.prev;
6553 return;
6554 }
6555 void parser___ReduceAction56___init(val_t self, int* init_table) {
6556 struct trace_t trace = {NULL, "parser::ReduceAction56::init (src/parser//parser.nit:3136,1--4)"};
6557 trace.prev = tracehead; tracehead = &trace;
6558 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction56].i]) return;
6559 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction56].i] = 1;
6560 tracehead = trace.prev;
6561 return;
6562 }
6563 void parser___ReduceAction57___action(val_t self, val_t param0) {
6564 struct trace_t trace = {NULL, "parser::ReduceAction57::action (src/parser//parser.nit:3140,2--3182:33)"};
6565 val_t variable0;
6566 val_t variable1;
6567 val_t variable2;
6568 val_t variable3;
6569 val_t variable4;
6570 val_t variable5;
6571 val_t variable6;
6572 val_t variable7;
6573 val_t variable8;
6574 val_t variable9;
6575 val_t variable10;
6576 val_t variable11;
6577 val_t variable12;
6578 val_t variable13;
6579 val_t variable14;
6580 val_t variable15;
6581 val_t variable16;
6582 val_t variable17;
6583 val_t variable18;
6584 val_t variable19;
6585 trace.prev = tracehead; tracehead = &trace;
6586 variable0 = param0;
6587 variable1 = NIT_NULL /*null*/;
6588 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6589 variable2 = variable3;
6590 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6591 variable3 = variable4;
6592 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6593 variable4 = variable5;
6594 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6595 variable5 = variable6;
6596 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6597 variable6 = variable7;
6598 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6599 variable7 = variable8;
6600 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6601 variable8 = variable9;
6602 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6603 variable9 = variable10;
6604 variable11 = NEW_array___Array___init(); /*new Array[Object]*/
6605 variable10 = variable11;
6606 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
6607 variable11 = variable12;
6608 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
6609 variable12 = variable13;
6610 variable13 = variable9 /*nodearraylist1*/;
6611 variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6612 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3155,6--30\n"); nit_exit(1);}
6613 variable14 = variable8 /*nodearraylist2*/;
6614 variable15 = TAG_Bool(( variable14 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6615 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3157,6--44\n"); nit_exit(1);}
6616 variable15 = variable7 /*nodearraylist3*/;
6617 variable16 = TAG_Bool(( variable15 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable15 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6618 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3159,6--42\n"); nit_exit(1);}
6619 variable16 = variable5 /*nodearraylist5*/;
6620 variable17 = TAG_Bool(( variable16 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable16 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6621 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3161,6--38\n"); nit_exit(1);}
6622 variable17 = variable4 /*nodearraylist6*/;
6623 variable18 = TAG_Bool(( variable17 /*listnode7*/==NIT_NULL) || VAL_ISA( variable17 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6624 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3163,6--38\n"); nit_exit(1);}
6625 variable18 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable17 /*listnode7*/ == NIT_NULL /*null*/) || (( variable17 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable17 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable17 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
6626 if (UNTAG_Bool(variable18)) { /*if*/
6627 variable18 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode8*/) /*Array::is_empty*/;
6628 if (UNTAG_Bool(variable18)) { /*if*/
6629 variable10 = variable17 /*listnode7*/ /*listnode8=*/;
6630 } else { /*if*/
6631 ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode8*/, variable17 /*listnode7*/) /*Array::append*/;
6632 }
6633 }
6634 variable19 = NEW_parser_prod___AClassdef___init_aclassdef( variable13 /*pdocnode2*/, NIT_NULL /*null*/, variable14 /*pvisibilitynode4*/, variable15 /*pclasskindnode5*/, variable16 /*tclassidnode6*/, variable10 /*listnode8*/, variable11 /*listnode9*/, variable12 /*listnode10*/); /*new AClassdef*/
6635 variable18 = variable19;
6636 variable1 = variable18 /*pclassdefnode1*/ /*node_list=*/;
6637 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6638 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
6639 tracehead = trace.prev;
6640 return;
6641 }
6642 void parser___ReduceAction57___init(val_t self, int* init_table) {
6643 struct trace_t trace = {NULL, "parser::ReduceAction57::init (src/parser//parser.nit:3184,1--4)"};
6644 trace.prev = tracehead; tracehead = &trace;
6645 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction57].i]) return;
6646 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction57].i] = 1;
6647 tracehead = trace.prev;
6648 return;
6649 }
6650 void parser___ReduceAction58___action(val_t self, val_t param0) {
6651 struct trace_t trace = {NULL, "parser::ReduceAction58::action (src/parser//parser.nit:3188,2--3233:33)"};
6652 val_t variable0;
6653 val_t variable1;
6654 val_t variable2;
6655 val_t variable3;
6656 val_t variable4;
6657 val_t variable5;
6658 val_t variable6;
6659 val_t variable7;
6660 val_t variable8;
6661 val_t variable9;
6662 val_t variable10;
6663 val_t variable11;
6664 val_t variable12;
6665 val_t variable13;
6666 val_t variable14;
6667 val_t variable15;
6668 val_t variable16;
6669 val_t variable17;
6670 val_t variable18;
6671 val_t variable19;
6672 val_t variable20;
6673 val_t variable21;
6674 trace.prev = tracehead; tracehead = &trace;
6675 variable0 = param0;
6676 variable1 = NIT_NULL /*null*/;
6677 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6678 variable2 = variable3;
6679 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6680 variable3 = variable4;
6681 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6682 variable4 = variable5;
6683 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6684 variable5 = variable6;
6685 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6686 variable6 = variable7;
6687 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6688 variable7 = variable8;
6689 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6690 variable8 = variable9;
6691 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6692 variable9 = variable10;
6693 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6694 variable10 = variable11;
6695 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
6696 variable11 = variable12;
6697 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
6698 variable12 = variable13;
6699 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
6700 variable13 = variable14;
6701 variable14 = variable10 /*nodearraylist1*/;
6702 variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6703 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3204,6--30\n"); nit_exit(1);}
6704 variable15 = variable9 /*nodearraylist2*/;
6705 variable16 = TAG_Bool(( variable15 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6706 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3206,6--38\n"); nit_exit(1);}
6707 variable16 = variable8 /*nodearraylist3*/;
6708 variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6709 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3208,6--44\n"); nit_exit(1);}
6710 variable17 = variable7 /*nodearraylist4*/;
6711 variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6712 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3210,6--42\n"); nit_exit(1);}
6713 variable18 = variable5 /*nodearraylist6*/;
6714 variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6715 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3212,6--38\n"); nit_exit(1);}
6716 variable19 = variable4 /*nodearraylist7*/;
6717 variable20 = TAG_Bool(( variable19 /*listnode7*/==NIT_NULL) || VAL_ISA( variable19 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6718 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3214,6--38\n"); nit_exit(1);}
6719 variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode7*/ == NIT_NULL /*null*/) || (( variable19 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
6720 if (UNTAG_Bool(variable20)) { /*if*/
6721 variable20 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*Array::is_empty*/;
6722 if (UNTAG_Bool(variable20)) { /*if*/
6723 variable11 = variable19 /*listnode7*/ /*listnode8=*/;
6724 } else { /*if*/
6725 ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/, variable19 /*listnode7*/) /*Array::append*/;
6726 }
6727 }
6728 variable21 = NEW_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/, variable15 /*tkwredefnode3*/, variable16 /*pvisibilitynode4*/, variable17 /*pclasskindnode5*/, variable18 /*tclassidnode6*/, variable11 /*listnode8*/, variable12 /*listnode9*/, variable13 /*listnode10*/); /*new AClassdef*/
6729 variable20 = variable21;
6730 variable1 = variable20 /*pclassdefnode1*/ /*node_list=*/;
6731 variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6732 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/;
6733 tracehead = trace.prev;
6734 return;
6735 }
6736 void parser___ReduceAction58___init(val_t self, int* init_table) {
6737 struct trace_t trace = {NULL, "parser::ReduceAction58::init (src/parser//parser.nit:3235,1--4)"};
6738 trace.prev = tracehead; tracehead = &trace;
6739 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction58].i]) return;
6740 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction58].i] = 1;
6741 tracehead = trace.prev;
6742 return;
6743 }
6744 void parser___ReduceAction59___action(val_t self, val_t param0) {
6745 struct trace_t trace = {NULL, "parser::ReduceAction59::action (src/parser//parser.nit:3239,2--3281:33)"};
6746 val_t variable0;
6747 val_t variable1;
6748 val_t variable2;
6749 val_t variable3;
6750 val_t variable4;
6751 val_t variable5;
6752 val_t variable6;
6753 val_t variable7;
6754 val_t variable8;
6755 val_t variable9;
6756 val_t variable10;
6757 val_t variable11;
6758 val_t variable12;
6759 val_t variable13;
6760 val_t variable14;
6761 val_t variable15;
6762 val_t variable16;
6763 val_t variable17;
6764 val_t variable18;
6765 val_t variable19;
6766 trace.prev = tracehead; tracehead = &trace;
6767 variable0 = param0;
6768 variable1 = NIT_NULL /*null*/;
6769 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6770 variable2 = variable3;
6771 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6772 variable3 = variable4;
6773 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6774 variable4 = variable5;
6775 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6776 variable5 = variable6;
6777 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6778 variable6 = variable7;
6779 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6780 variable7 = variable8;
6781 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6782 variable8 = variable9;
6783 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6784 variable9 = variable10;
6785 variable11 = NEW_array___Array___init(); /*new Array[Object]*/
6786 variable10 = variable11;
6787 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
6788 variable11 = variable12;
6789 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
6790 variable12 = variable13;
6791 variable13 = variable9 /*nodearraylist1*/;
6792 variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6793 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3254,6--30\n"); nit_exit(1);}
6794 variable14 = variable8 /*nodearraylist2*/;
6795 variable15 = TAG_Bool(( variable14 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6796 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3256,6--44\n"); nit_exit(1);}
6797 variable15 = variable7 /*nodearraylist3*/;
6798 variable16 = TAG_Bool(( variable15 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable15 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6799 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3258,6--42\n"); nit_exit(1);}
6800 variable16 = variable5 /*nodearraylist5*/;
6801 variable17 = TAG_Bool(( variable16 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable16 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6802 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3260,6--38\n"); nit_exit(1);}
6803 variable17 = variable4 /*nodearraylist6*/;
6804 variable18 = TAG_Bool(( variable17 /*listnode8*/==NIT_NULL) || VAL_ISA( variable17 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6805 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3262,6--38\n"); nit_exit(1);}
6806 variable18 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable17 /*listnode8*/ == NIT_NULL /*null*/) || (( variable17 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable17 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable17 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/)))));
6807 if (UNTAG_Bool(variable18)) { /*if*/
6808 variable18 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode9*/) /*Array::is_empty*/;
6809 if (UNTAG_Bool(variable18)) { /*if*/
6810 variable11 = variable17 /*listnode8*/ /*listnode9=*/;
6811 } else { /*if*/
6812 ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode9*/, variable17 /*listnode8*/) /*Array::append*/;
6813 }
6814 }
6815 variable19 = NEW_parser_prod___AClassdef___init_aclassdef( variable13 /*pdocnode2*/, NIT_NULL /*null*/, variable14 /*pvisibilitynode4*/, variable15 /*pclasskindnode5*/, variable16 /*tclassidnode6*/, variable10 /*listnode7*/, variable11 /*listnode9*/, variable12 /*listnode10*/); /*new AClassdef*/
6816 variable18 = variable19;
6817 variable1 = variable18 /*pclassdefnode1*/ /*node_list=*/;
6818 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6819 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
6820 tracehead = trace.prev;
6821 return;
6822 }
6823 void parser___ReduceAction59___init(val_t self, int* init_table) {
6824 struct trace_t trace = {NULL, "parser::ReduceAction59::init (src/parser//parser.nit:3283,1--4)"};
6825 trace.prev = tracehead; tracehead = &trace;
6826 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction59].i]) return;
6827 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction59].i] = 1;
6828 tracehead = trace.prev;
6829 return;
6830 }
6831 void parser___ReduceAction60___action(val_t self, val_t param0) {
6832 struct trace_t trace = {NULL, "parser::ReduceAction60::action (src/parser//parser.nit:3287,2--3332:33)"};
6833 val_t variable0;
6834 val_t variable1;
6835 val_t variable2;
6836 val_t variable3;
6837 val_t variable4;
6838 val_t variable5;
6839 val_t variable6;
6840 val_t variable7;
6841 val_t variable8;
6842 val_t variable9;
6843 val_t variable10;
6844 val_t variable11;
6845 val_t variable12;
6846 val_t variable13;
6847 val_t variable14;
6848 val_t variable15;
6849 val_t variable16;
6850 val_t variable17;
6851 val_t variable18;
6852 val_t variable19;
6853 val_t variable20;
6854 val_t variable21;
6855 trace.prev = tracehead; tracehead = &trace;
6856 variable0 = param0;
6857 variable1 = NIT_NULL /*null*/;
6858 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6859 variable2 = variable3;
6860 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6861 variable3 = variable4;
6862 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6863 variable4 = variable5;
6864 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6865 variable5 = variable6;
6866 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6867 variable6 = variable7;
6868 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6869 variable7 = variable8;
6870 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6871 variable8 = variable9;
6872 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6873 variable9 = variable10;
6874 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6875 variable10 = variable11;
6876 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
6877 variable11 = variable12;
6878 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
6879 variable12 = variable13;
6880 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
6881 variable13 = variable14;
6882 variable14 = variable10 /*nodearraylist1*/;
6883 variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6884 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3303,6--30\n"); nit_exit(1);}
6885 variable15 = variable9 /*nodearraylist2*/;
6886 variable16 = TAG_Bool(( variable15 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
6887 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3305,6--38\n"); nit_exit(1);}
6888 variable16 = variable8 /*nodearraylist3*/;
6889 variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6890 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3307,6--44\n"); nit_exit(1);}
6891 variable17 = variable7 /*nodearraylist4*/;
6892 variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6893 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3309,6--42\n"); nit_exit(1);}
6894 variable18 = variable5 /*nodearraylist6*/;
6895 variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6896 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3311,6--38\n"); nit_exit(1);}
6897 variable19 = variable4 /*nodearraylist7*/;
6898 variable20 = TAG_Bool(( variable19 /*listnode8*/==NIT_NULL) || VAL_ISA( variable19 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6899 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3313,6--38\n"); nit_exit(1);}
6900 variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode8*/ == NIT_NULL /*null*/) || (( variable19 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/)))));
6901 if (UNTAG_Bool(variable20)) { /*if*/
6902 variable20 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode9*/) /*Array::is_empty*/;
6903 if (UNTAG_Bool(variable20)) { /*if*/
6904 variable12 = variable19 /*listnode8*/ /*listnode9=*/;
6905 } else { /*if*/
6906 ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode9*/, variable19 /*listnode8*/) /*Array::append*/;
6907 }
6908 }
6909 variable21 = NEW_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/, variable15 /*tkwredefnode3*/, variable16 /*pvisibilitynode4*/, variable17 /*pclasskindnode5*/, variable18 /*tclassidnode6*/, variable11 /*listnode7*/, variable12 /*listnode9*/, variable13 /*listnode10*/); /*new AClassdef*/
6910 variable20 = variable21;
6911 variable1 = variable20 /*pclassdefnode1*/ /*node_list=*/;
6912 variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
6913 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/;
6914 tracehead = trace.prev;
6915 return;
6916 }
6917 void parser___ReduceAction60___init(val_t self, int* init_table) {
6918 struct trace_t trace = {NULL, "parser::ReduceAction60::init (src/parser//parser.nit:3334,1--4)"};
6919 trace.prev = tracehead; tracehead = &trace;
6920 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction60].i]) return;
6921 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction60].i] = 1;
6922 tracehead = trace.prev;
6923 return;
6924 }
6925 void parser___ReduceAction61___action(val_t self, val_t param0) {
6926 struct trace_t trace = {NULL, "parser::ReduceAction61::action (src/parser//parser.nit:3338,2--3390:33)"};
6927 val_t variable0;
6928 val_t variable1;
6929 val_t variable2;
6930 val_t variable3;
6931 val_t variable4;
6932 val_t variable5;
6933 val_t variable6;
6934 val_t variable7;
6935 val_t variable8;
6936 val_t variable9;
6937 val_t variable10;
6938 val_t variable11;
6939 val_t variable12;
6940 val_t variable13;
6941 val_t variable14;
6942 val_t variable15;
6943 val_t variable16;
6944 val_t variable17;
6945 val_t variable18;
6946 val_t variable19;
6947 val_t variable20;
6948 val_t variable21;
6949 trace.prev = tracehead; tracehead = &trace;
6950 variable0 = param0;
6951 variable1 = NIT_NULL /*null*/;
6952 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6953 variable2 = variable3;
6954 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6955 variable3 = variable4;
6956 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6957 variable4 = variable5;
6958 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6959 variable5 = variable6;
6960 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6961 variable6 = variable7;
6962 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6963 variable7 = variable8;
6964 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6965 variable8 = variable9;
6966 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6967 variable9 = variable10;
6968 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
6969 variable10 = variable11;
6970 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
6971 variable11 = variable12;
6972 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
6973 variable12 = variable13;
6974 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
6975 variable13 = variable14;
6976 variable14 = variable10 /*nodearraylist1*/;
6977 variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
6978 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3354,6--30\n"); nit_exit(1);}
6979 variable15 = variable9 /*nodearraylist2*/;
6980 variable16 = TAG_Bool(( variable15 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
6981 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3356,6--44\n"); nit_exit(1);}
6982 variable16 = variable8 /*nodearraylist3*/;
6983 variable17 = TAG_Bool(( variable16 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
6984 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3358,6--42\n"); nit_exit(1);}
6985 variable17 = variable6 /*nodearraylist5*/;
6986 variable18 = TAG_Bool(( variable17 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable17 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6987 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3360,6--38\n"); nit_exit(1);}
6988 variable18 = variable5 /*nodearraylist6*/;
6989 variable19 = TAG_Bool(( variable18 /*listnode7*/==NIT_NULL) || VAL_ISA( variable18 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6990 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3362,6--38\n"); nit_exit(1);}
6991 variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable18 /*listnode7*/ == NIT_NULL /*null*/) || (( variable18 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable18 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable18 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
6992 if (UNTAG_Bool(variable19)) { /*if*/
6993 variable19 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*Array::is_empty*/;
6994 if (UNTAG_Bool(variable19)) { /*if*/
6995 variable11 = variable18 /*listnode7*/ /*listnode8=*/;
6996 } else { /*if*/
6997 ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/, variable18 /*listnode7*/) /*Array::append*/;
6998 }
6999 }
7000 variable19 = variable4 /*nodearraylist7*/;
7001 variable20 = TAG_Bool(( variable19 /*listnode9*/==NIT_NULL) || VAL_ISA( variable19 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7002 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3371,6--38\n"); nit_exit(1);}
7003 variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode9*/ == NIT_NULL /*null*/) || (( variable19 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode9*/, NIT_NULL /*null*/) /*Array::==*/)))));
7004 if (UNTAG_Bool(variable20)) { /*if*/
7005 variable20 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode10*/) /*Array::is_empty*/;
7006 if (UNTAG_Bool(variable20)) { /*if*/
7007 variable12 = variable19 /*listnode9*/ /*listnode10=*/;
7008 } else { /*if*/
7009 ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode10*/, variable19 /*listnode9*/) /*Array::append*/;
7010 }
7011 }
7012 variable21 = NEW_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/, NIT_NULL /*null*/, variable15 /*pvisibilitynode4*/, variable16 /*pclasskindnode5*/, variable17 /*tclassidnode6*/, variable11 /*listnode8*/, variable12 /*listnode10*/, variable13 /*listnode11*/); /*new AClassdef*/
7013 variable20 = variable21;
7014 variable1 = variable20 /*pclassdefnode1*/ /*node_list=*/;
7015 variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7016 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/;
7017 tracehead = trace.prev;
7018 return;
7019 }
7020 void parser___ReduceAction61___init(val_t self, int* init_table) {
7021 struct trace_t trace = {NULL, "parser::ReduceAction61::init (src/parser//parser.nit:3392,1--4)"};
7022 trace.prev = tracehead; tracehead = &trace;
7023 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction61].i]) return;
7024 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction61].i] = 1;
7025 tracehead = trace.prev;
7026 return;
7027 }
7028 void parser___ReduceAction62___action(val_t self, val_t param0) {
7029 struct trace_t trace = {NULL, "parser::ReduceAction62::action (src/parser//parser.nit:3396,2--3451:33)"};
7030 val_t variable0;
7031 val_t variable1;
7032 val_t variable2;
7033 val_t variable3;
7034 val_t variable4;
7035 val_t variable5;
7036 val_t variable6;
7037 val_t variable7;
7038 val_t variable8;
7039 val_t variable9;
7040 val_t variable10;
7041 val_t variable11;
7042 val_t variable12;
7043 val_t variable13;
7044 val_t variable14;
7045 val_t variable15;
7046 val_t variable16;
7047 val_t variable17;
7048 val_t variable18;
7049 val_t variable19;
7050 val_t variable20;
7051 val_t variable21;
7052 val_t variable22;
7053 val_t variable23;
7054 trace.prev = tracehead; tracehead = &trace;
7055 variable0 = param0;
7056 variable1 = NIT_NULL /*null*/;
7057 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7058 variable2 = variable3;
7059 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7060 variable3 = variable4;
7061 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7062 variable4 = variable5;
7063 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7064 variable5 = variable6;
7065 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7066 variable6 = variable7;
7067 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7068 variable7 = variable8;
7069 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7070 variable8 = variable9;
7071 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7072 variable9 = variable10;
7073 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7074 variable10 = variable11;
7075 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7076 variable11 = variable12;
7077 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
7078 variable12 = variable13;
7079 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
7080 variable13 = variable14;
7081 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
7082 variable14 = variable15;
7083 variable15 = variable11 /*nodearraylist1*/;
7084 variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7085 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3413,6--30\n"); nit_exit(1);}
7086 variable16 = variable10 /*nodearraylist2*/;
7087 variable17 = TAG_Bool(( variable16 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7088 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3415,6--38\n"); nit_exit(1);}
7089 variable17 = variable9 /*nodearraylist3*/;
7090 variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7091 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3417,6--44\n"); nit_exit(1);}
7092 variable18 = variable8 /*nodearraylist4*/;
7093 variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7094 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3419,6--42\n"); nit_exit(1);}
7095 variable19 = variable6 /*nodearraylist6*/;
7096 variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7097 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3421,6--38\n"); nit_exit(1);}
7098 variable20 = variable5 /*nodearraylist7*/;
7099 variable21 = TAG_Bool(( variable20 /*listnode7*/==NIT_NULL) || VAL_ISA( variable20 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7100 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3423,6--38\n"); nit_exit(1);}
7101 variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode7*/ == NIT_NULL /*null*/) || (( variable20 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
7102 if (UNTAG_Bool(variable21)) { /*if*/
7103 variable21 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*Array::is_empty*/;
7104 if (UNTAG_Bool(variable21)) { /*if*/
7105 variable12 = variable20 /*listnode7*/ /*listnode8=*/;
7106 } else { /*if*/
7107 ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/, variable20 /*listnode7*/) /*Array::append*/;
7108 }
7109 }
7110 variable21 = variable4 /*nodearraylist8*/;
7111 variable22 = TAG_Bool(( variable21 /*listnode9*/==NIT_NULL) || VAL_ISA( variable21 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7112 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3432,6--38\n"); nit_exit(1);}
7113 variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode9*/ == NIT_NULL /*null*/) || (( variable21 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode9*/, NIT_NULL /*null*/) /*Array::==*/)))));
7114 if (UNTAG_Bool(variable22)) { /*if*/
7115 variable22 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode10*/) /*Array::is_empty*/;
7116 if (UNTAG_Bool(variable22)) { /*if*/
7117 variable13 = variable21 /*listnode9*/ /*listnode10=*/;
7118 } else { /*if*/
7119 ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode10*/, variable21 /*listnode9*/) /*Array::append*/;
7120 }
7121 }
7122 variable23 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/, variable16 /*tkwredefnode3*/, variable17 /*pvisibilitynode4*/, variable18 /*pclasskindnode5*/, variable19 /*tclassidnode6*/, variable12 /*listnode8*/, variable13 /*listnode10*/, variable14 /*listnode11*/); /*new AClassdef*/
7123 variable22 = variable23;
7124 variable1 = variable22 /*pclassdefnode1*/ /*node_list=*/;
7125 variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7126 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/;
7127 tracehead = trace.prev;
7128 return;
7129 }
7130 void parser___ReduceAction62___init(val_t self, int* init_table) {
7131 struct trace_t trace = {NULL, "parser::ReduceAction62::init (src/parser//parser.nit:3453,1--4)"};
7132 trace.prev = tracehead; tracehead = &trace;
7133 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction62].i]) return;
7134 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction62].i] = 1;
7135 tracehead = trace.prev;
7136 return;
7137 }
7138 void parser___ReduceAction63___action(val_t self, val_t param0) {
7139 struct trace_t trace = {NULL, "parser::ReduceAction63::action (src/parser//parser.nit:3457,2--3496:33)"};
7140 val_t variable0;
7141 val_t variable1;
7142 val_t variable2;
7143 val_t variable3;
7144 val_t variable4;
7145 val_t variable5;
7146 val_t variable6;
7147 val_t variable7;
7148 val_t variable8;
7149 val_t variable9;
7150 val_t variable10;
7151 val_t variable11;
7152 val_t variable12;
7153 val_t variable13;
7154 val_t variable14;
7155 val_t variable15;
7156 val_t variable16;
7157 val_t variable17;
7158 val_t variable18;
7159 val_t variable19;
7160 val_t variable20;
7161 trace.prev = tracehead; tracehead = &trace;
7162 variable0 = param0;
7163 variable1 = NIT_NULL /*null*/;
7164 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7165 variable2 = variable3;
7166 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7167 variable3 = variable4;
7168 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7169 variable4 = variable5;
7170 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7171 variable5 = variable6;
7172 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7173 variable6 = variable7;
7174 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7175 variable7 = variable8;
7176 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7177 variable8 = variable9;
7178 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7179 variable9 = variable10;
7180 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7181 variable10 = variable11;
7182 variable12 = NEW_array___Array___init(); /*new Array[Object]*/
7183 variable11 = variable12;
7184 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
7185 variable12 = variable13;
7186 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
7187 variable13 = variable14;
7188 variable14 = variable10 /*nodearraylist1*/;
7189 variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7190 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3473,6--30\n"); nit_exit(1);}
7191 variable15 = variable9 /*nodearraylist2*/;
7192 variable16 = TAG_Bool(( variable15 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7193 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3475,6--44\n"); nit_exit(1);}
7194 variable16 = variable8 /*nodearraylist3*/;
7195 variable17 = TAG_Bool(( variable16 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7196 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3477,6--42\n"); nit_exit(1);}
7197 variable17 = variable6 /*nodearraylist5*/;
7198 variable18 = TAG_Bool(( variable17 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable17 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7199 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3479,6--38\n"); nit_exit(1);}
7200 variable18 = variable5 /*nodearraylist6*/;
7201 variable19 = TAG_Bool(( variable18 /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable18 /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7202 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3481,6--38\n"); nit_exit(1);}
7203 variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable18 /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable18 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable18 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable18 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable18 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable18 /*ppropdefnode9*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
7204 if (UNTAG_Bool(variable19)) { /*if*/
7205 ((array___AbstractArray___add_t)CALL( variable13 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode10*/, variable18 /*ppropdefnode9*/) /*Array::add*/;
7206 }
7207 variable20 = NEW_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/, NIT_NULL /*null*/, variable15 /*pvisibilitynode4*/, variable16 /*pclasskindnode5*/, variable17 /*tclassidnode6*/, variable11 /*listnode7*/, variable12 /*listnode8*/, variable13 /*listnode10*/); /*new AClassdef*/
7208 variable19 = variable20;
7209 variable1 = variable19 /*pclassdefnode1*/ /*node_list=*/;
7210 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7211 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
7212 tracehead = trace.prev;
7213 return;
7214 }
7215 void parser___ReduceAction63___init(val_t self, int* init_table) {
7216 struct trace_t trace = {NULL, "parser::ReduceAction63::init (src/parser//parser.nit:3498,1--4)"};
7217 trace.prev = tracehead; tracehead = &trace;
7218 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction63].i]) return;
7219 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction63].i] = 1;
7220 tracehead = trace.prev;
7221 return;
7222 }
7223 void parser___ReduceAction64___action(val_t self, val_t param0) {
7224 struct trace_t trace = {NULL, "parser::ReduceAction64::action (src/parser//parser.nit:3502,2--3551:33)"};
7225 val_t variable0;
7226 val_t variable1;
7227 val_t variable2;
7228 val_t variable3;
7229 val_t variable4;
7230 val_t variable5;
7231 val_t variable6;
7232 val_t variable7;
7233 val_t variable8;
7234 val_t variable9;
7235 val_t variable10;
7236 val_t variable11;
7237 val_t variable12;
7238 val_t variable13;
7239 val_t variable14;
7240 val_t variable15;
7241 val_t variable16;
7242 val_t variable17;
7243 val_t variable18;
7244 val_t variable19;
7245 val_t variable20;
7246 val_t variable21;
7247 val_t variable22;
7248 trace.prev = tracehead; tracehead = &trace;
7249 variable0 = param0;
7250 variable1 = NIT_NULL /*null*/;
7251 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7252 variable2 = variable3;
7253 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7254 variable3 = variable4;
7255 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7256 variable4 = variable5;
7257 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7258 variable5 = variable6;
7259 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7260 variable6 = variable7;
7261 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7262 variable7 = variable8;
7263 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7264 variable8 = variable9;
7265 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7266 variable9 = variable10;
7267 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7268 variable10 = variable11;
7269 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7270 variable11 = variable12;
7271 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
7272 variable12 = variable13;
7273 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
7274 variable13 = variable14;
7275 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
7276 variable14 = variable15;
7277 variable15 = variable11 /*nodearraylist1*/;
7278 variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7279 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3519,6--30\n"); nit_exit(1);}
7280 variable16 = variable10 /*nodearraylist2*/;
7281 variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7282 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3521,6--44\n"); nit_exit(1);}
7283 variable17 = variable9 /*nodearraylist3*/;
7284 variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7285 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3523,6--42\n"); nit_exit(1);}
7286 variable18 = variable7 /*nodearraylist5*/;
7287 variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7288 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3525,6--38\n"); nit_exit(1);}
7289 variable19 = variable6 /*nodearraylist6*/;
7290 variable20 = TAG_Bool(( variable19 /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7291 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3527,6--38\n"); nit_exit(1);}
7292 variable20 = variable4 /*nodearraylist8*/;
7293 variable21 = TAG_Bool(( variable20 /*listnode10*/==NIT_NULL) || VAL_ISA( variable20 /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7294 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3529,6--39\n"); nit_exit(1);}
7295 variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable19 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable19 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable19 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable19 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable19 /*ppropdefnode9*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
7296 if (UNTAG_Bool(variable21)) { /*if*/
7297 ((array___AbstractArray___add_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode11*/, variable19 /*ppropdefnode9*/) /*Array::add*/;
7298 }
7299 variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode10*/ == NIT_NULL /*null*/) || (( variable20 /*listnode10*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode10*/, NIT_NULL /*null*/) /*Array::==*/)))));
7300 if (UNTAG_Bool(variable21)) { /*if*/
7301 variable21 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode11*/) /*Array::is_empty*/;
7302 if (UNTAG_Bool(variable21)) { /*if*/
7303 variable14 = variable20 /*listnode10*/ /*listnode11=*/;
7304 } else { /*if*/
7305 ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode11*/, variable20 /*listnode10*/) /*Array::append*/;
7306 }
7307 }
7308 variable22 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode4*/, variable17 /*pclasskindnode5*/, variable18 /*tclassidnode6*/, variable12 /*listnode7*/, variable13 /*listnode8*/, variable14 /*listnode11*/); /*new AClassdef*/
7309 variable21 = variable22;
7310 variable1 = variable21 /*pclassdefnode1*/ /*node_list=*/;
7311 variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7312 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/;
7313 tracehead = trace.prev;
7314 return;
7315 }
7316 void parser___ReduceAction64___init(val_t self, int* init_table) {
7317 struct trace_t trace = {NULL, "parser::ReduceAction64::init (src/parser//parser.nit:3553,1--4)"};
7318 trace.prev = tracehead; tracehead = &trace;
7319 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction64].i]) return;
7320 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction64].i] = 1;
7321 tracehead = trace.prev;
7322 return;
7323 }
7324 void parser___ReduceAction65___action(val_t self, val_t param0) {
7325 struct trace_t trace = {NULL, "parser::ReduceAction65::action (src/parser//parser.nit:3557,2--3599:33)"};
7326 val_t variable0;
7327 val_t variable1;
7328 val_t variable2;
7329 val_t variable3;
7330 val_t variable4;
7331 val_t variable5;
7332 val_t variable6;
7333 val_t variable7;
7334 val_t variable8;
7335 val_t variable9;
7336 val_t variable10;
7337 val_t variable11;
7338 val_t variable12;
7339 val_t variable13;
7340 val_t variable14;
7341 val_t variable15;
7342 val_t variable16;
7343 val_t variable17;
7344 val_t variable18;
7345 val_t variable19;
7346 val_t variable20;
7347 val_t variable21;
7348 val_t variable22;
7349 trace.prev = tracehead; tracehead = &trace;
7350 variable0 = param0;
7351 variable1 = NIT_NULL /*null*/;
7352 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7353 variable2 = variable3;
7354 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7355 variable3 = variable4;
7356 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7357 variable4 = variable5;
7358 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7359 variable5 = variable6;
7360 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7361 variable6 = variable7;
7362 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7363 variable7 = variable8;
7364 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7365 variable8 = variable9;
7366 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7367 variable9 = variable10;
7368 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7369 variable10 = variable11;
7370 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7371 variable11 = variable12;
7372 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
7373 variable12 = variable13;
7374 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
7375 variable13 = variable14;
7376 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
7377 variable14 = variable15;
7378 variable15 = variable11 /*nodearraylist1*/;
7379 variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7380 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3574,6--30\n"); nit_exit(1);}
7381 variable16 = variable10 /*nodearraylist2*/;
7382 variable17 = TAG_Bool(( variable16 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7383 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3576,6--38\n"); nit_exit(1);}
7384 variable17 = variable9 /*nodearraylist3*/;
7385 variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7386 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3578,6--44\n"); nit_exit(1);}
7387 variable18 = variable8 /*nodearraylist4*/;
7388 variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7389 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3580,6--42\n"); nit_exit(1);}
7390 variable19 = variable6 /*nodearraylist6*/;
7391 variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7392 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3582,6--38\n"); nit_exit(1);}
7393 variable20 = variable5 /*nodearraylist7*/;
7394 variable21 = TAG_Bool(( variable20 /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable20 /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7395 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3584,6--38\n"); nit_exit(1);}
7396 variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable20 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable20 /*ppropdefnode9*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
7397 if (UNTAG_Bool(variable21)) { /*if*/
7398 ((array___AbstractArray___add_t)CALL( variable14 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode10*/, variable20 /*ppropdefnode9*/) /*Array::add*/;
7399 }
7400 variable22 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/, variable16 /*tkwredefnode3*/, variable17 /*pvisibilitynode4*/, variable18 /*pclasskindnode5*/, variable19 /*tclassidnode6*/, variable12 /*listnode7*/, variable13 /*listnode8*/, variable14 /*listnode10*/); /*new AClassdef*/
7401 variable21 = variable22;
7402 variable1 = variable21 /*pclassdefnode1*/ /*node_list=*/;
7403 variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7404 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/;
7405 tracehead = trace.prev;
7406 return;
7407 }
7408 void parser___ReduceAction65___init(val_t self, int* init_table) {
7409 struct trace_t trace = {NULL, "parser::ReduceAction65::init (src/parser//parser.nit:3601,1--4)"};
7410 trace.prev = tracehead; tracehead = &trace;
7411 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction65].i]) return;
7412 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction65].i] = 1;
7413 tracehead = trace.prev;
7414 return;
7415 }
7416 void parser___ReduceAction66___action(val_t self, val_t param0) {
7417 struct trace_t trace = {NULL, "parser::ReduceAction66::action (src/parser//parser.nit:3605,2--3657:33)"};
7418 val_t variable0;
7419 val_t variable1;
7420 val_t variable2;
7421 val_t variable3;
7422 val_t variable4;
7423 val_t variable5;
7424 val_t variable6;
7425 val_t variable7;
7426 val_t variable8;
7427 val_t variable9;
7428 val_t variable10;
7429 val_t variable11;
7430 val_t variable12;
7431 val_t variable13;
7432 val_t variable14;
7433 val_t variable15;
7434 val_t variable16;
7435 val_t variable17;
7436 val_t variable18;
7437 val_t variable19;
7438 val_t variable20;
7439 val_t variable21;
7440 val_t variable22;
7441 val_t variable23;
7442 val_t variable24;
7443 trace.prev = tracehead; tracehead = &trace;
7444 variable0 = param0;
7445 variable1 = NIT_NULL /*null*/;
7446 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7447 variable2 = variable3;
7448 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7449 variable3 = variable4;
7450 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7451 variable4 = variable5;
7452 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7453 variable5 = variable6;
7454 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7455 variable6 = variable7;
7456 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7457 variable7 = variable8;
7458 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7459 variable8 = variable9;
7460 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7461 variable9 = variable10;
7462 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7463 variable10 = variable11;
7464 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7465 variable11 = variable12;
7466 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7467 variable12 = variable13;
7468 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
7469 variable13 = variable14;
7470 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
7471 variable14 = variable15;
7472 variable16 = NEW_array___Array___init(); /*new Array[Object]*/
7473 variable15 = variable16;
7474 variable16 = variable12 /*nodearraylist1*/;
7475 variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7476 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3623,6--30\n"); nit_exit(1);}
7477 variable17 = variable11 /*nodearraylist2*/;
7478 variable18 = TAG_Bool(( variable17 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7479 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3625,6--38\n"); nit_exit(1);}
7480 variable18 = variable10 /*nodearraylist3*/;
7481 variable19 = TAG_Bool(( variable18 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7482 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3627,6--44\n"); nit_exit(1);}
7483 variable19 = variable9 /*nodearraylist4*/;
7484 variable20 = TAG_Bool(( variable19 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable19 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7485 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3629,6--42\n"); nit_exit(1);}
7486 variable20 = variable7 /*nodearraylist6*/;
7487 variable21 = TAG_Bool(( variable20 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable20 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7488 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3631,6--38\n"); nit_exit(1);}
7489 variable21 = variable6 /*nodearraylist7*/;
7490 variable22 = TAG_Bool(( variable21 /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable21 /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7491 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3633,6--38\n"); nit_exit(1);}
7492 variable22 = variable4 /*nodearraylist9*/;
7493 variable23 = TAG_Bool(( variable22 /*listnode10*/==NIT_NULL) || VAL_ISA( variable22 /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7494 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3635,6--39\n"); nit_exit(1);}
7495 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable21 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable21 /*ppropdefnode9*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
7496 if (UNTAG_Bool(variable23)) { /*if*/
7497 ((array___AbstractArray___add_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode11*/, variable21 /*ppropdefnode9*/) /*Array::add*/;
7498 }
7499 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode10*/ == NIT_NULL /*null*/) || (( variable22 /*listnode10*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode10*/, NIT_NULL /*null*/) /*Array::==*/)))));
7500 if (UNTAG_Bool(variable23)) { /*if*/
7501 variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode11*/) /*Array::is_empty*/;
7502 if (UNTAG_Bool(variable23)) { /*if*/
7503 variable15 = variable22 /*listnode10*/ /*listnode11=*/;
7504 } else { /*if*/
7505 ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode11*/, variable22 /*listnode10*/) /*Array::append*/;
7506 }
7507 }
7508 variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/, variable17 /*tkwredefnode3*/, variable18 /*pvisibilitynode4*/, variable19 /*pclasskindnode5*/, variable20 /*tclassidnode6*/, variable13 /*listnode7*/, variable14 /*listnode8*/, variable15 /*listnode11*/); /*new AClassdef*/
7509 variable23 = variable24;
7510 variable1 = variable23 /*pclassdefnode1*/ /*node_list=*/;
7511 variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7512 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/;
7513 tracehead = trace.prev;
7514 return;
7515 }
7516 void parser___ReduceAction66___init(val_t self, int* init_table) {
7517 struct trace_t trace = {NULL, "parser::ReduceAction66::init (src/parser//parser.nit:3659,1--4)"};
7518 trace.prev = tracehead; tracehead = &trace;
7519 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction66].i]) return;
7520 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction66].i] = 1;
7521 tracehead = trace.prev;
7522 return;
7523 }
7524 void parser___ReduceAction67___action(val_t self, val_t param0) {
7525 struct trace_t trace = {NULL, "parser::ReduceAction67::action (src/parser//parser.nit:3663,2--3712:33)"};
7526 val_t variable0;
7527 val_t variable1;
7528 val_t variable2;
7529 val_t variable3;
7530 val_t variable4;
7531 val_t variable5;
7532 val_t variable6;
7533 val_t variable7;
7534 val_t variable8;
7535 val_t variable9;
7536 val_t variable10;
7537 val_t variable11;
7538 val_t variable12;
7539 val_t variable13;
7540 val_t variable14;
7541 val_t variable15;
7542 val_t variable16;
7543 val_t variable17;
7544 val_t variable18;
7545 val_t variable19;
7546 val_t variable20;
7547 val_t variable21;
7548 val_t variable22;
7549 trace.prev = tracehead; tracehead = &trace;
7550 variable0 = param0;
7551 variable1 = NIT_NULL /*null*/;
7552 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7553 variable2 = variable3;
7554 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7555 variable3 = variable4;
7556 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7557 variable4 = variable5;
7558 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7559 variable5 = variable6;
7560 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7561 variable6 = variable7;
7562 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7563 variable7 = variable8;
7564 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7565 variable8 = variable9;
7566 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7567 variable9 = variable10;
7568 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7569 variable10 = variable11;
7570 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7571 variable11 = variable12;
7572 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
7573 variable12 = variable13;
7574 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
7575 variable13 = variable14;
7576 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
7577 variable14 = variable15;
7578 variable15 = variable11 /*nodearraylist1*/;
7579 variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7580 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3680,6--30\n"); nit_exit(1);}
7581 variable16 = variable10 /*nodearraylist2*/;
7582 variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7583 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3682,6--44\n"); nit_exit(1);}
7584 variable17 = variable9 /*nodearraylist3*/;
7585 variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7586 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3684,6--42\n"); nit_exit(1);}
7587 variable18 = variable7 /*nodearraylist5*/;
7588 variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7589 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3686,6--38\n"); nit_exit(1);}
7590 variable19 = variable6 /*nodearraylist6*/;
7591 variable20 = TAG_Bool(( variable19 /*listnode7*/==NIT_NULL) || VAL_ISA( variable19 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7592 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3688,6--38\n"); nit_exit(1);}
7593 variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode7*/ == NIT_NULL /*null*/) || (( variable19 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
7594 if (UNTAG_Bool(variable20)) { /*if*/
7595 variable20 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*Array::is_empty*/;
7596 if (UNTAG_Bool(variable20)) { /*if*/
7597 variable12 = variable19 /*listnode7*/ /*listnode8=*/;
7598 } else { /*if*/
7599 ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/, variable19 /*listnode7*/) /*Array::append*/;
7600 }
7601 }
7602 variable20 = variable5 /*nodearraylist7*/;
7603 variable21 = TAG_Bool(( variable20 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable20 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7604 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3697,6--39\n"); nit_exit(1);}
7605 variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable20 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable20 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
7606 if (UNTAG_Bool(variable21)) { /*if*/
7607 ((array___AbstractArray___add_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode11*/, variable20 /*ppropdefnode10*/) /*Array::add*/;
7608 }
7609 variable22 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode4*/, variable17 /*pclasskindnode5*/, variable18 /*tclassidnode6*/, variable12 /*listnode8*/, variable13 /*listnode9*/, variable14 /*listnode11*/); /*new AClassdef*/
7610 variable21 = variable22;
7611 variable1 = variable21 /*pclassdefnode1*/ /*node_list=*/;
7612 variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7613 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/;
7614 tracehead = trace.prev;
7615 return;
7616 }
7617 void parser___ReduceAction67___init(val_t self, int* init_table) {
7618 struct trace_t trace = {NULL, "parser::ReduceAction67::init (src/parser//parser.nit:3714,1--4)"};
7619 trace.prev = tracehead; tracehead = &trace;
7620 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction67].i]) return;
7621 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction67].i] = 1;
7622 tracehead = trace.prev;
7623 return;
7624 }
7625 void parser___ReduceAction68___action(val_t self, val_t param0) {
7626 struct trace_t trace = {NULL, "parser::ReduceAction68::action (src/parser//parser.nit:3718,2--3777:33)"};
7627 val_t variable0;
7628 val_t variable1;
7629 val_t variable2;
7630 val_t variable3;
7631 val_t variable4;
7632 val_t variable5;
7633 val_t variable6;
7634 val_t variable7;
7635 val_t variable8;
7636 val_t variable9;
7637 val_t variable10;
7638 val_t variable11;
7639 val_t variable12;
7640 val_t variable13;
7641 val_t variable14;
7642 val_t variable15;
7643 val_t variable16;
7644 val_t variable17;
7645 val_t variable18;
7646 val_t variable19;
7647 val_t variable20;
7648 val_t variable21;
7649 val_t variable22;
7650 val_t variable23;
7651 val_t variable24;
7652 trace.prev = tracehead; tracehead = &trace;
7653 variable0 = param0;
7654 variable1 = NIT_NULL /*null*/;
7655 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7656 variable2 = variable3;
7657 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7658 variable3 = variable4;
7659 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7660 variable4 = variable5;
7661 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7662 variable5 = variable6;
7663 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7664 variable6 = variable7;
7665 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7666 variable7 = variable8;
7667 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7668 variable8 = variable9;
7669 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7670 variable9 = variable10;
7671 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7672 variable10 = variable11;
7673 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7674 variable11 = variable12;
7675 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7676 variable12 = variable13;
7677 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
7678 variable13 = variable14;
7679 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
7680 variable14 = variable15;
7681 variable16 = NEW_array___Array___init(); /*new Array[Object]*/
7682 variable15 = variable16;
7683 variable16 = variable12 /*nodearraylist1*/;
7684 variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7685 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3736,6--30\n"); nit_exit(1);}
7686 variable17 = variable11 /*nodearraylist2*/;
7687 variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7688 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3738,6--44\n"); nit_exit(1);}
7689 variable18 = variable10 /*nodearraylist3*/;
7690 variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7691 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3740,6--42\n"); nit_exit(1);}
7692 variable19 = variable8 /*nodearraylist5*/;
7693 variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7694 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3742,6--38\n"); nit_exit(1);}
7695 variable20 = variable7 /*nodearraylist6*/;
7696 variable21 = TAG_Bool(( variable20 /*listnode7*/==NIT_NULL) || VAL_ISA( variable20 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7697 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3744,6--38\n"); nit_exit(1);}
7698 variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode7*/ == NIT_NULL /*null*/) || (( variable20 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
7699 if (UNTAG_Bool(variable21)) { /*if*/
7700 variable21 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode8*/) /*Array::is_empty*/;
7701 if (UNTAG_Bool(variable21)) { /*if*/
7702 variable13 = variable20 /*listnode7*/ /*listnode8=*/;
7703 } else { /*if*/
7704 ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode8*/, variable20 /*listnode7*/) /*Array::append*/;
7705 }
7706 }
7707 variable21 = variable6 /*nodearraylist7*/;
7708 variable22 = TAG_Bool(( variable21 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable21 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7709 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3753,6--39\n"); nit_exit(1);}
7710 variable22 = variable4 /*nodearraylist9*/;
7711 variable23 = TAG_Bool(( variable22 /*listnode11*/==NIT_NULL) || VAL_ISA( variable22 /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7712 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3755,6--39\n"); nit_exit(1);}
7713 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable21 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable21 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
7714 if (UNTAG_Bool(variable23)) { /*if*/
7715 ((array___AbstractArray___add_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode12*/, variable21 /*ppropdefnode10*/) /*Array::add*/;
7716 }
7717 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode11*/ == NIT_NULL /*null*/) || (( variable22 /*listnode11*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode11*/, NIT_NULL /*null*/) /*Array::==*/)))));
7718 if (UNTAG_Bool(variable23)) { /*if*/
7719 variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode12*/) /*Array::is_empty*/;
7720 if (UNTAG_Bool(variable23)) { /*if*/
7721 variable15 = variable22 /*listnode11*/ /*listnode12=*/;
7722 } else { /*if*/
7723 ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode12*/, variable22 /*listnode11*/) /*Array::append*/;
7724 }
7725 }
7726 variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/, NIT_NULL /*null*/, variable17 /*pvisibilitynode4*/, variable18 /*pclasskindnode5*/, variable19 /*tclassidnode6*/, variable13 /*listnode8*/, variable14 /*listnode9*/, variable15 /*listnode12*/); /*new AClassdef*/
7727 variable23 = variable24;
7728 variable1 = variable23 /*pclassdefnode1*/ /*node_list=*/;
7729 variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7730 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/;
7731 tracehead = trace.prev;
7732 return;
7733 }
7734 void parser___ReduceAction68___init(val_t self, int* init_table) {
7735 struct trace_t trace = {NULL, "parser::ReduceAction68::init (src/parser//parser.nit:3779,1--4)"};
7736 trace.prev = tracehead; tracehead = &trace;
7737 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction68].i]) return;
7738 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction68].i] = 1;
7739 tracehead = trace.prev;
7740 return;
7741 }
7742 void parser___ReduceAction69___action(val_t self, val_t param0) {
7743 struct trace_t trace = {NULL, "parser::ReduceAction69::action (src/parser//parser.nit:3783,2--3835:33)"};
7744 val_t variable0;
7745 val_t variable1;
7746 val_t variable2;
7747 val_t variable3;
7748 val_t variable4;
7749 val_t variable5;
7750 val_t variable6;
7751 val_t variable7;
7752 val_t variable8;
7753 val_t variable9;
7754 val_t variable10;
7755 val_t variable11;
7756 val_t variable12;
7757 val_t variable13;
7758 val_t variable14;
7759 val_t variable15;
7760 val_t variable16;
7761 val_t variable17;
7762 val_t variable18;
7763 val_t variable19;
7764 val_t variable20;
7765 val_t variable21;
7766 val_t variable22;
7767 val_t variable23;
7768 val_t variable24;
7769 trace.prev = tracehead; tracehead = &trace;
7770 variable0 = param0;
7771 variable1 = NIT_NULL /*null*/;
7772 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7773 variable2 = variable3;
7774 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7775 variable3 = variable4;
7776 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7777 variable4 = variable5;
7778 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7779 variable5 = variable6;
7780 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7781 variable6 = variable7;
7782 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7783 variable7 = variable8;
7784 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7785 variable8 = variable9;
7786 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7787 variable9 = variable10;
7788 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7789 variable10 = variable11;
7790 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7791 variable11 = variable12;
7792 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7793 variable12 = variable13;
7794 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
7795 variable13 = variable14;
7796 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
7797 variable14 = variable15;
7798 variable16 = NEW_array___Array___init(); /*new Array[Object]*/
7799 variable15 = variable16;
7800 variable16 = variable12 /*nodearraylist1*/;
7801 variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7802 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3801,6--30\n"); nit_exit(1);}
7803 variable17 = variable11 /*nodearraylist2*/;
7804 variable18 = TAG_Bool(( variable17 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7805 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3803,6--38\n"); nit_exit(1);}
7806 variable18 = variable10 /*nodearraylist3*/;
7807 variable19 = TAG_Bool(( variable18 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7808 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3805,6--44\n"); nit_exit(1);}
7809 variable19 = variable9 /*nodearraylist4*/;
7810 variable20 = TAG_Bool(( variable19 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable19 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7811 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3807,6--42\n"); nit_exit(1);}
7812 variable20 = variable7 /*nodearraylist6*/;
7813 variable21 = TAG_Bool(( variable20 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable20 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7814 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3809,6--38\n"); nit_exit(1);}
7815 variable21 = variable6 /*nodearraylist7*/;
7816 variable22 = TAG_Bool(( variable21 /*listnode7*/==NIT_NULL) || VAL_ISA( variable21 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7817 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3811,6--38\n"); nit_exit(1);}
7818 variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode7*/ == NIT_NULL /*null*/) || (( variable21 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
7819 if (UNTAG_Bool(variable22)) { /*if*/
7820 variable22 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode8*/) /*Array::is_empty*/;
7821 if (UNTAG_Bool(variable22)) { /*if*/
7822 variable13 = variable21 /*listnode7*/ /*listnode8=*/;
7823 } else { /*if*/
7824 ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode8*/, variable21 /*listnode7*/) /*Array::append*/;
7825 }
7826 }
7827 variable22 = variable5 /*nodearraylist8*/;
7828 variable23 = TAG_Bool(( variable22 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable22 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7829 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3820,6--39\n"); nit_exit(1);}
7830 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable22 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable22 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
7831 if (UNTAG_Bool(variable23)) { /*if*/
7832 ((array___AbstractArray___add_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode11*/, variable22 /*ppropdefnode10*/) /*Array::add*/;
7833 }
7834 variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/, variable17 /*tkwredefnode3*/, variable18 /*pvisibilitynode4*/, variable19 /*pclasskindnode5*/, variable20 /*tclassidnode6*/, variable13 /*listnode8*/, variable14 /*listnode9*/, variable15 /*listnode11*/); /*new AClassdef*/
7835 variable23 = variable24;
7836 variable1 = variable23 /*pclassdefnode1*/ /*node_list=*/;
7837 variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7838 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/;
7839 tracehead = trace.prev;
7840 return;
7841 }
7842 void parser___ReduceAction69___init(val_t self, int* init_table) {
7843 struct trace_t trace = {NULL, "parser::ReduceAction69::init (src/parser//parser.nit:3837,1--4)"};
7844 trace.prev = tracehead; tracehead = &trace;
7845 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction69].i]) return;
7846 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction69].i] = 1;
7847 tracehead = trace.prev;
7848 return;
7849 }
7850 void parser___ReduceAction70___action(val_t self, val_t param0) {
7851 struct trace_t trace = {NULL, "parser::ReduceAction70::action (src/parser//parser.nit:3841,2--3903:33)"};
7852 val_t variable0;
7853 val_t variable1;
7854 val_t variable2;
7855 val_t variable3;
7856 val_t variable4;
7857 val_t variable5;
7858 val_t variable6;
7859 val_t variable7;
7860 val_t variable8;
7861 val_t variable9;
7862 val_t variable10;
7863 val_t variable11;
7864 val_t variable12;
7865 val_t variable13;
7866 val_t variable14;
7867 val_t variable15;
7868 val_t variable16;
7869 val_t variable17;
7870 val_t variable18;
7871 val_t variable19;
7872 val_t variable20;
7873 val_t variable21;
7874 val_t variable22;
7875 val_t variable23;
7876 val_t variable24;
7877 val_t variable25;
7878 val_t variable26;
7879 trace.prev = tracehead; tracehead = &trace;
7880 variable0 = param0;
7881 variable1 = NIT_NULL /*null*/;
7882 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7883 variable2 = variable3;
7884 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7885 variable3 = variable4;
7886 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7887 variable4 = variable5;
7888 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7889 variable5 = variable6;
7890 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7891 variable6 = variable7;
7892 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7893 variable7 = variable8;
7894 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7895 variable8 = variable9;
7896 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7897 variable9 = variable10;
7898 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7899 variable10 = variable11;
7900 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7901 variable11 = variable12;
7902 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7903 variable12 = variable13;
7904 variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
7905 variable13 = variable14;
7906 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
7907 variable14 = variable15;
7908 variable16 = NEW_array___Array___init(); /*new Array[Object]*/
7909 variable15 = variable16;
7910 variable17 = NEW_array___Array___init(); /*new Array[Object]*/
7911 variable16 = variable17;
7912 variable17 = variable13 /*nodearraylist1*/;
7913 variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
7914 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3860,6--30\n"); nit_exit(1);}
7915 variable18 = variable12 /*nodearraylist2*/;
7916 variable19 = TAG_Bool(( variable18 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7917 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3862,6--38\n"); nit_exit(1);}
7918 variable19 = variable11 /*nodearraylist3*/;
7919 variable20 = TAG_Bool(( variable19 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
7920 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3864,6--44\n"); nit_exit(1);}
7921 variable20 = variable10 /*nodearraylist4*/;
7922 variable21 = TAG_Bool(( variable20 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable20 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
7923 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3866,6--42\n"); nit_exit(1);}
7924 variable21 = variable8 /*nodearraylist6*/;
7925 variable22 = TAG_Bool(( variable21 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable21 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
7926 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3868,6--38\n"); nit_exit(1);}
7927 variable22 = variable7 /*nodearraylist7*/;
7928 variable23 = TAG_Bool(( variable22 /*listnode7*/==NIT_NULL) || VAL_ISA( variable22 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7929 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3870,6--38\n"); nit_exit(1);}
7930 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode7*/ == NIT_NULL /*null*/) || (( variable22 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
7931 if (UNTAG_Bool(variable23)) { /*if*/
7932 variable23 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode8*/) /*Array::is_empty*/;
7933 if (UNTAG_Bool(variable23)) { /*if*/
7934 variable14 = variable22 /*listnode7*/ /*listnode8=*/;
7935 } else { /*if*/
7936 ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode8*/, variable22 /*listnode7*/) /*Array::append*/;
7937 }
7938 }
7939 variable23 = variable6 /*nodearraylist8*/;
7940 variable24 = TAG_Bool(( variable23 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable23 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7941 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3879,6--39\n"); nit_exit(1);}
7942 variable24 = variable4 /*nodearraylist10*/;
7943 variable25 = TAG_Bool(( variable24 /*listnode11*/==NIT_NULL) || VAL_ISA( variable24 /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7944 if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3881,6--39\n"); nit_exit(1);}
7945 variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable23 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable23 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
7946 if (UNTAG_Bool(variable25)) { /*if*/
7947 ((array___AbstractArray___add_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode12*/, variable23 /*ppropdefnode10*/) /*Array::add*/;
7948 }
7949 variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode11*/ == NIT_NULL /*null*/) || (( variable24 /*listnode11*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable24 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode11*/, NIT_NULL /*null*/) /*Array::==*/)))));
7950 if (UNTAG_Bool(variable25)) { /*if*/
7951 variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode12*/) /*Array::is_empty*/;
7952 if (UNTAG_Bool(variable25)) { /*if*/
7953 variable16 = variable24 /*listnode11*/ /*listnode12=*/;
7954 } else { /*if*/
7955 ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode12*/, variable24 /*listnode11*/) /*Array::append*/;
7956 }
7957 }
7958 variable26 = NEW_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/, variable18 /*tkwredefnode3*/, variable19 /*pvisibilitynode4*/, variable20 /*pclasskindnode5*/, variable21 /*tclassidnode6*/, variable14 /*listnode8*/, variable15 /*listnode9*/, variable16 /*listnode12*/); /*new AClassdef*/
7959 variable25 = variable26;
7960 variable1 = variable25 /*pclassdefnode1*/ /*node_list=*/;
7961 variable26 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
7962 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable26, variable1 /*node_list*/) /*Parser::push*/;
7963 tracehead = trace.prev;
7964 return;
7965 }
7966 void parser___ReduceAction70___init(val_t self, int* init_table) {
7967 struct trace_t trace = {NULL, "parser::ReduceAction70::init (src/parser//parser.nit:3905,1--4)"};
7968 trace.prev = tracehead; tracehead = &trace;
7969 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction70].i]) return;
7970 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction70].i] = 1;
7971 tracehead = trace.prev;
7972 return;
7973 }
7974 void parser___ReduceAction71___action(val_t self, val_t param0) {
7975 struct trace_t trace = {NULL, "parser::ReduceAction71::action (src/parser//parser.nit:3909,2--3958:33)"};
7976 val_t variable0;
7977 val_t variable1;
7978 val_t variable2;
7979 val_t variable3;
7980 val_t variable4;
7981 val_t variable5;
7982 val_t variable6;
7983 val_t variable7;
7984 val_t variable8;
7985 val_t variable9;
7986 val_t variable10;
7987 val_t variable11;
7988 val_t variable12;
7989 val_t variable13;
7990 val_t variable14;
7991 val_t variable15;
7992 val_t variable16;
7993 val_t variable17;
7994 val_t variable18;
7995 val_t variable19;
7996 val_t variable20;
7997 val_t variable21;
7998 val_t variable22;
7999 trace.prev = tracehead; tracehead = &trace;
8000 variable0 = param0;
8001 variable1 = NIT_NULL /*null*/;
8002 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8003 variable2 = variable3;
8004 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8005 variable3 = variable4;
8006 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8007 variable4 = variable5;
8008 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8009 variable5 = variable6;
8010 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8011 variable6 = variable7;
8012 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8013 variable7 = variable8;
8014 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8015 variable8 = variable9;
8016 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8017 variable9 = variable10;
8018 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8019 variable10 = variable11;
8020 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8021 variable11 = variable12;
8022 variable13 = NEW_array___Array___init(); /*new Array[Object]*/
8023 variable12 = variable13;
8024 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
8025 variable13 = variable14;
8026 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
8027 variable14 = variable15;
8028 variable15 = variable11 /*nodearraylist1*/;
8029 variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8030 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3926,6--30\n"); nit_exit(1);}
8031 variable16 = variable10 /*nodearraylist2*/;
8032 variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8033 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3928,6--44\n"); nit_exit(1);}
8034 variable17 = variable9 /*nodearraylist3*/;
8035 variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8036 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3930,6--42\n"); nit_exit(1);}
8037 variable18 = variable7 /*nodearraylist5*/;
8038 variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8039 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3932,6--38\n"); nit_exit(1);}
8040 variable19 = variable6 /*nodearraylist6*/;
8041 variable20 = TAG_Bool(( variable19 /*listnode8*/==NIT_NULL) || VAL_ISA( variable19 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8042 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3934,6--38\n"); nit_exit(1);}
8043 variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode8*/ == NIT_NULL /*null*/) || (( variable19 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/)))));
8044 if (UNTAG_Bool(variable20)) { /*if*/
8045 variable20 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode9*/) /*Array::is_empty*/;
8046 if (UNTAG_Bool(variable20)) { /*if*/
8047 variable13 = variable19 /*listnode8*/ /*listnode9=*/;
8048 } else { /*if*/
8049 ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode9*/, variable19 /*listnode8*/) /*Array::append*/;
8050 }
8051 }
8052 variable20 = variable5 /*nodearraylist7*/;
8053 variable21 = TAG_Bool(( variable20 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable20 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8054 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3943,6--39\n"); nit_exit(1);}
8055 variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable20 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable20 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
8056 if (UNTAG_Bool(variable21)) { /*if*/
8057 ((array___AbstractArray___add_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode11*/, variable20 /*ppropdefnode10*/) /*Array::add*/;
8058 }
8059 variable22 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode4*/, variable17 /*pclasskindnode5*/, variable18 /*tclassidnode6*/, variable12 /*listnode7*/, variable13 /*listnode9*/, variable14 /*listnode11*/); /*new AClassdef*/
8060 variable21 = variable22;
8061 variable1 = variable21 /*pclassdefnode1*/ /*node_list=*/;
8062 variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8063 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/;
8064 tracehead = trace.prev;
8065 return;
8066 }
8067 void parser___ReduceAction71___init(val_t self, int* init_table) {
8068 struct trace_t trace = {NULL, "parser::ReduceAction71::init (src/parser//parser.nit:3960,1--4)"};
8069 trace.prev = tracehead; tracehead = &trace;
8070 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction71].i]) return;
8071 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction71].i] = 1;
8072 tracehead = trace.prev;
8073 return;
8074 }
8075 void parser___ReduceAction72___action(val_t self, val_t param0) {
8076 struct trace_t trace = {NULL, "parser::ReduceAction72::action (src/parser//parser.nit:3964,2--4023:33)"};
8077 val_t variable0;
8078 val_t variable1;
8079 val_t variable2;
8080 val_t variable3;
8081 val_t variable4;
8082 val_t variable5;
8083 val_t variable6;
8084 val_t variable7;
8085 val_t variable8;
8086 val_t variable9;
8087 val_t variable10;
8088 val_t variable11;
8089 val_t variable12;
8090 val_t variable13;
8091 val_t variable14;
8092 val_t variable15;
8093 val_t variable16;
8094 val_t variable17;
8095 val_t variable18;
8096 val_t variable19;
8097 val_t variable20;
8098 val_t variable21;
8099 val_t variable22;
8100 val_t variable23;
8101 val_t variable24;
8102 trace.prev = tracehead; tracehead = &trace;
8103 variable0 = param0;
8104 variable1 = NIT_NULL /*null*/;
8105 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8106 variable2 = variable3;
8107 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8108 variable3 = variable4;
8109 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8110 variable4 = variable5;
8111 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8112 variable5 = variable6;
8113 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8114 variable6 = variable7;
8115 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8116 variable7 = variable8;
8117 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8118 variable8 = variable9;
8119 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8120 variable9 = variable10;
8121 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8122 variable10 = variable11;
8123 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8124 variable11 = variable12;
8125 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8126 variable12 = variable13;
8127 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
8128 variable13 = variable14;
8129 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
8130 variable14 = variable15;
8131 variable16 = NEW_array___Array___init(); /*new Array[Object]*/
8132 variable15 = variable16;
8133 variable16 = variable12 /*nodearraylist1*/;
8134 variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8135 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3982,6--30\n"); nit_exit(1);}
8136 variable17 = variable11 /*nodearraylist2*/;
8137 variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8138 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3984,6--44\n"); nit_exit(1);}
8139 variable18 = variable10 /*nodearraylist3*/;
8140 variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8141 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3986,6--42\n"); nit_exit(1);}
8142 variable19 = variable8 /*nodearraylist5*/;
8143 variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8144 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3988,6--38\n"); nit_exit(1);}
8145 variable20 = variable7 /*nodearraylist6*/;
8146 variable21 = TAG_Bool(( variable20 /*listnode8*/==NIT_NULL) || VAL_ISA( variable20 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8147 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3990,6--38\n"); nit_exit(1);}
8148 variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode8*/ == NIT_NULL /*null*/) || (( variable20 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/)))));
8149 if (UNTAG_Bool(variable21)) { /*if*/
8150 variable21 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode9*/) /*Array::is_empty*/;
8151 if (UNTAG_Bool(variable21)) { /*if*/
8152 variable14 = variable20 /*listnode8*/ /*listnode9=*/;
8153 } else { /*if*/
8154 ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode9*/, variable20 /*listnode8*/) /*Array::append*/;
8155 }
8156 }
8157 variable21 = variable6 /*nodearraylist7*/;
8158 variable22 = TAG_Bool(( variable21 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable21 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8159 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3999,6--39\n"); nit_exit(1);}
8160 variable22 = variable4 /*nodearraylist9*/;
8161 variable23 = TAG_Bool(( variable22 /*listnode11*/==NIT_NULL) || VAL_ISA( variable22 /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8162 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4001,6--39\n"); nit_exit(1);}
8163 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable21 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable21 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
8164 if (UNTAG_Bool(variable23)) { /*if*/
8165 ((array___AbstractArray___add_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode12*/, variable21 /*ppropdefnode10*/) /*Array::add*/;
8166 }
8167 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode11*/ == NIT_NULL /*null*/) || (( variable22 /*listnode11*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode11*/, NIT_NULL /*null*/) /*Array::==*/)))));
8168 if (UNTAG_Bool(variable23)) { /*if*/
8169 variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode12*/) /*Array::is_empty*/;
8170 if (UNTAG_Bool(variable23)) { /*if*/
8171 variable15 = variable22 /*listnode11*/ /*listnode12=*/;
8172 } else { /*if*/
8173 ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode12*/, variable22 /*listnode11*/) /*Array::append*/;
8174 }
8175 }
8176 variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/, NIT_NULL /*null*/, variable17 /*pvisibilitynode4*/, variable18 /*pclasskindnode5*/, variable19 /*tclassidnode6*/, variable13 /*listnode7*/, variable14 /*listnode9*/, variable15 /*listnode12*/); /*new AClassdef*/
8177 variable23 = variable24;
8178 variable1 = variable23 /*pclassdefnode1*/ /*node_list=*/;
8179 variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8180 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/;
8181 tracehead = trace.prev;
8182 return;
8183 }
8184 void parser___ReduceAction72___init(val_t self, int* init_table) {
8185 struct trace_t trace = {NULL, "parser::ReduceAction72::init (src/parser//parser.nit:4025,1--4)"};
8186 trace.prev = tracehead; tracehead = &trace;
8187 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction72].i]) return;
8188 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction72].i] = 1;
8189 tracehead = trace.prev;
8190 return;
8191 }
8192 void parser___ReduceAction73___action(val_t self, val_t param0) {
8193 struct trace_t trace = {NULL, "parser::ReduceAction73::action (src/parser//parser.nit:4029,2--4081:33)"};
8194 val_t variable0;
8195 val_t variable1;
8196 val_t variable2;
8197 val_t variable3;
8198 val_t variable4;
8199 val_t variable5;
8200 val_t variable6;
8201 val_t variable7;
8202 val_t variable8;
8203 val_t variable9;
8204 val_t variable10;
8205 val_t variable11;
8206 val_t variable12;
8207 val_t variable13;
8208 val_t variable14;
8209 val_t variable15;
8210 val_t variable16;
8211 val_t variable17;
8212 val_t variable18;
8213 val_t variable19;
8214 val_t variable20;
8215 val_t variable21;
8216 val_t variable22;
8217 val_t variable23;
8218 val_t variable24;
8219 trace.prev = tracehead; tracehead = &trace;
8220 variable0 = param0;
8221 variable1 = NIT_NULL /*null*/;
8222 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8223 variable2 = variable3;
8224 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8225 variable3 = variable4;
8226 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8227 variable4 = variable5;
8228 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8229 variable5 = variable6;
8230 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8231 variable6 = variable7;
8232 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8233 variable7 = variable8;
8234 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8235 variable8 = variable9;
8236 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8237 variable9 = variable10;
8238 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8239 variable10 = variable11;
8240 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8241 variable11 = variable12;
8242 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8243 variable12 = variable13;
8244 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
8245 variable13 = variable14;
8246 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
8247 variable14 = variable15;
8248 variable16 = NEW_array___Array___init(); /*new Array[Object]*/
8249 variable15 = variable16;
8250 variable16 = variable12 /*nodearraylist1*/;
8251 variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8252 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4047,6--30\n"); nit_exit(1);}
8253 variable17 = variable11 /*nodearraylist2*/;
8254 variable18 = TAG_Bool(( variable17 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8255 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4049,6--38\n"); nit_exit(1);}
8256 variable18 = variable10 /*nodearraylist3*/;
8257 variable19 = TAG_Bool(( variable18 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8258 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4051,6--44\n"); nit_exit(1);}
8259 variable19 = variable9 /*nodearraylist4*/;
8260 variable20 = TAG_Bool(( variable19 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable19 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8261 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4053,6--42\n"); nit_exit(1);}
8262 variable20 = variable7 /*nodearraylist6*/;
8263 variable21 = TAG_Bool(( variable20 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable20 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8264 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4055,6--38\n"); nit_exit(1);}
8265 variable21 = variable6 /*nodearraylist7*/;
8266 variable22 = TAG_Bool(( variable21 /*listnode8*/==NIT_NULL) || VAL_ISA( variable21 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8267 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4057,6--38\n"); nit_exit(1);}
8268 variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode8*/ == NIT_NULL /*null*/) || (( variable21 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/)))));
8269 if (UNTAG_Bool(variable22)) { /*if*/
8270 variable22 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode9*/) /*Array::is_empty*/;
8271 if (UNTAG_Bool(variable22)) { /*if*/
8272 variable14 = variable21 /*listnode8*/ /*listnode9=*/;
8273 } else { /*if*/
8274 ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode9*/, variable21 /*listnode8*/) /*Array::append*/;
8275 }
8276 }
8277 variable22 = variable5 /*nodearraylist8*/;
8278 variable23 = TAG_Bool(( variable22 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable22 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8279 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4066,6--39\n"); nit_exit(1);}
8280 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable22 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable22 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
8281 if (UNTAG_Bool(variable23)) { /*if*/
8282 ((array___AbstractArray___add_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode11*/, variable22 /*ppropdefnode10*/) /*Array::add*/;
8283 }
8284 variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/, variable17 /*tkwredefnode3*/, variable18 /*pvisibilitynode4*/, variable19 /*pclasskindnode5*/, variable20 /*tclassidnode6*/, variable13 /*listnode7*/, variable14 /*listnode9*/, variable15 /*listnode11*/); /*new AClassdef*/
8285 variable23 = variable24;
8286 variable1 = variable23 /*pclassdefnode1*/ /*node_list=*/;
8287 variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8288 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/;
8289 tracehead = trace.prev;
8290 return;
8291 }
8292 void parser___ReduceAction73___init(val_t self, int* init_table) {
8293 struct trace_t trace = {NULL, "parser::ReduceAction73::init (src/parser//parser.nit:4083,1--4)"};
8294 trace.prev = tracehead; tracehead = &trace;
8295 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction73].i]) return;
8296 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction73].i] = 1;
8297 tracehead = trace.prev;
8298 return;
8299 }
8300 void parser___ReduceAction74___action(val_t self, val_t param0) {
8301 struct trace_t trace = {NULL, "parser::ReduceAction74::action (src/parser//parser.nit:4087,2--4149:33)"};
8302 val_t variable0;
8303 val_t variable1;
8304 val_t variable2;
8305 val_t variable3;
8306 val_t variable4;
8307 val_t variable5;
8308 val_t variable6;
8309 val_t variable7;
8310 val_t variable8;
8311 val_t variable9;
8312 val_t variable10;
8313 val_t variable11;
8314 val_t variable12;
8315 val_t variable13;
8316 val_t variable14;
8317 val_t variable15;
8318 val_t variable16;
8319 val_t variable17;
8320 val_t variable18;
8321 val_t variable19;
8322 val_t variable20;
8323 val_t variable21;
8324 val_t variable22;
8325 val_t variable23;
8326 val_t variable24;
8327 val_t variable25;
8328 val_t variable26;
8329 trace.prev = tracehead; tracehead = &trace;
8330 variable0 = param0;
8331 variable1 = NIT_NULL /*null*/;
8332 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8333 variable2 = variable3;
8334 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8335 variable3 = variable4;
8336 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8337 variable4 = variable5;
8338 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8339 variable5 = variable6;
8340 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8341 variable6 = variable7;
8342 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8343 variable7 = variable8;
8344 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8345 variable8 = variable9;
8346 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8347 variable9 = variable10;
8348 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8349 variable10 = variable11;
8350 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8351 variable11 = variable12;
8352 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8353 variable12 = variable13;
8354 variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8355 variable13 = variable14;
8356 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
8357 variable14 = variable15;
8358 variable16 = NEW_array___Array___init(); /*new Array[Object]*/
8359 variable15 = variable16;
8360 variable17 = NEW_array___Array___init(); /*new Array[Object]*/
8361 variable16 = variable17;
8362 variable17 = variable13 /*nodearraylist1*/;
8363 variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8364 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4106,6--30\n"); nit_exit(1);}
8365 variable18 = variable12 /*nodearraylist2*/;
8366 variable19 = TAG_Bool(( variable18 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8367 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4108,6--38\n"); nit_exit(1);}
8368 variable19 = variable11 /*nodearraylist3*/;
8369 variable20 = TAG_Bool(( variable19 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8370 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4110,6--44\n"); nit_exit(1);}
8371 variable20 = variable10 /*nodearraylist4*/;
8372 variable21 = TAG_Bool(( variable20 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable20 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8373 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4112,6--42\n"); nit_exit(1);}
8374 variable21 = variable8 /*nodearraylist6*/;
8375 variable22 = TAG_Bool(( variable21 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable21 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8376 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4114,6--38\n"); nit_exit(1);}
8377 variable22 = variable7 /*nodearraylist7*/;
8378 variable23 = TAG_Bool(( variable22 /*listnode8*/==NIT_NULL) || VAL_ISA( variable22 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8379 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4116,6--38\n"); nit_exit(1);}
8380 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode8*/ == NIT_NULL /*null*/) || (( variable22 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/)))));
8381 if (UNTAG_Bool(variable23)) { /*if*/
8382 variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode9*/) /*Array::is_empty*/;
8383 if (UNTAG_Bool(variable23)) { /*if*/
8384 variable15 = variable22 /*listnode8*/ /*listnode9=*/;
8385 } else { /*if*/
8386 ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode9*/, variable22 /*listnode8*/) /*Array::append*/;
8387 }
8388 }
8389 variable23 = variable6 /*nodearraylist8*/;
8390 variable24 = TAG_Bool(( variable23 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable23 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8391 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4125,6--39\n"); nit_exit(1);}
8392 variable24 = variable4 /*nodearraylist10*/;
8393 variable25 = TAG_Bool(( variable24 /*listnode11*/==NIT_NULL) || VAL_ISA( variable24 /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8394 if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4127,6--39\n"); nit_exit(1);}
8395 variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable23 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable23 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
8396 if (UNTAG_Bool(variable25)) { /*if*/
8397 ((array___AbstractArray___add_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode12*/, variable23 /*ppropdefnode10*/) /*Array::add*/;
8398 }
8399 variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode11*/ == NIT_NULL /*null*/) || (( variable24 /*listnode11*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable24 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode11*/, NIT_NULL /*null*/) /*Array::==*/)))));
8400 if (UNTAG_Bool(variable25)) { /*if*/
8401 variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode12*/) /*Array::is_empty*/;
8402 if (UNTAG_Bool(variable25)) { /*if*/
8403 variable16 = variable24 /*listnode11*/ /*listnode12=*/;
8404 } else { /*if*/
8405 ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode12*/, variable24 /*listnode11*/) /*Array::append*/;
8406 }
8407 }
8408 variable26 = NEW_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/, variable18 /*tkwredefnode3*/, variable19 /*pvisibilitynode4*/, variable20 /*pclasskindnode5*/, variable21 /*tclassidnode6*/, variable14 /*listnode7*/, variable15 /*listnode9*/, variable16 /*listnode12*/); /*new AClassdef*/
8409 variable25 = variable26;
8410 variable1 = variable25 /*pclassdefnode1*/ /*node_list=*/;
8411 variable26 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8412 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable26, variable1 /*node_list*/) /*Parser::push*/;
8413 tracehead = trace.prev;
8414 return;
8415 }
8416 void parser___ReduceAction74___init(val_t self, int* init_table) {
8417 struct trace_t trace = {NULL, "parser::ReduceAction74::init (src/parser//parser.nit:4151,1--4)"};
8418 trace.prev = tracehead; tracehead = &trace;
8419 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction74].i]) return;
8420 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction74].i] = 1;
8421 tracehead = trace.prev;
8422 return;
8423 }
8424 void parser___ReduceAction75___action(val_t self, val_t param0) {
8425 struct trace_t trace = {NULL, "parser::ReduceAction75::action (src/parser//parser.nit:4155,2--4214:33)"};
8426 val_t variable0;
8427 val_t variable1;
8428 val_t variable2;
8429 val_t variable3;
8430 val_t variable4;
8431 val_t variable5;
8432 val_t variable6;
8433 val_t variable7;
8434 val_t variable8;
8435 val_t variable9;
8436 val_t variable10;
8437 val_t variable11;
8438 val_t variable12;
8439 val_t variable13;
8440 val_t variable14;
8441 val_t variable15;
8442 val_t variable16;
8443 val_t variable17;
8444 val_t variable18;
8445 val_t variable19;
8446 val_t variable20;
8447 val_t variable21;
8448 val_t variable22;
8449 val_t variable23;
8450 val_t variable24;
8451 trace.prev = tracehead; tracehead = &trace;
8452 variable0 = param0;
8453 variable1 = NIT_NULL /*null*/;
8454 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8455 variable2 = variable3;
8456 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8457 variable3 = variable4;
8458 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8459 variable4 = variable5;
8460 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8461 variable5 = variable6;
8462 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8463 variable6 = variable7;
8464 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8465 variable7 = variable8;
8466 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8467 variable8 = variable9;
8468 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8469 variable9 = variable10;
8470 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8471 variable10 = variable11;
8472 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8473 variable11 = variable12;
8474 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8475 variable12 = variable13;
8476 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
8477 variable13 = variable14;
8478 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
8479 variable14 = variable15;
8480 variable16 = NEW_array___Array___init(); /*new Array[Object]*/
8481 variable15 = variable16;
8482 variable16 = variable12 /*nodearraylist1*/;
8483 variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8484 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4173,6--30\n"); nit_exit(1);}
8485 variable17 = variable11 /*nodearraylist2*/;
8486 variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8487 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4175,6--44\n"); nit_exit(1);}
8488 variable18 = variable10 /*nodearraylist3*/;
8489 variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8490 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4177,6--42\n"); nit_exit(1);}
8491 variable19 = variable8 /*nodearraylist5*/;
8492 variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8493 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4179,6--38\n"); nit_exit(1);}
8494 variable20 = variable7 /*nodearraylist6*/;
8495 variable21 = TAG_Bool(( variable20 /*listnode7*/==NIT_NULL) || VAL_ISA( variable20 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8496 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4181,6--38\n"); nit_exit(1);}
8497 variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode7*/ == NIT_NULL /*null*/) || (( variable20 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
8498 if (UNTAG_Bool(variable21)) { /*if*/
8499 variable21 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode8*/) /*Array::is_empty*/;
8500 if (UNTAG_Bool(variable21)) { /*if*/
8501 variable13 = variable20 /*listnode7*/ /*listnode8=*/;
8502 } else { /*if*/
8503 ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode8*/, variable20 /*listnode7*/) /*Array::append*/;
8504 }
8505 }
8506 variable21 = variable6 /*nodearraylist7*/;
8507 variable22 = TAG_Bool(( variable21 /*listnode9*/==NIT_NULL) || VAL_ISA( variable21 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8508 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4190,6--38\n"); nit_exit(1);}
8509 variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode9*/ == NIT_NULL /*null*/) || (( variable21 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode9*/, NIT_NULL /*null*/) /*Array::==*/)))));
8510 if (UNTAG_Bool(variable22)) { /*if*/
8511 variable22 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode10*/) /*Array::is_empty*/;
8512 if (UNTAG_Bool(variable22)) { /*if*/
8513 variable14 = variable21 /*listnode9*/ /*listnode10=*/;
8514 } else { /*if*/
8515 ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode10*/, variable21 /*listnode9*/) /*Array::append*/;
8516 }
8517 }
8518 variable22 = variable5 /*nodearraylist8*/;
8519 variable23 = TAG_Bool(( variable22 /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable22 /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8520 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4199,6--39\n"); nit_exit(1);}
8521 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable22 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable22 /*ppropdefnode11*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
8522 if (UNTAG_Bool(variable23)) { /*if*/
8523 ((array___AbstractArray___add_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode12*/, variable22 /*ppropdefnode11*/) /*Array::add*/;
8524 }
8525 variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/, NIT_NULL /*null*/, variable17 /*pvisibilitynode4*/, variable18 /*pclasskindnode5*/, variable19 /*tclassidnode6*/, variable13 /*listnode8*/, variable14 /*listnode10*/, variable15 /*listnode12*/); /*new AClassdef*/
8526 variable23 = variable24;
8527 variable1 = variable23 /*pclassdefnode1*/ /*node_list=*/;
8528 variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8529 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/;
8530 tracehead = trace.prev;
8531 return;
8532 }
8533 void parser___ReduceAction75___init(val_t self, int* init_table) {
8534 struct trace_t trace = {NULL, "parser::ReduceAction75::init (src/parser//parser.nit:4216,1--4)"};
8535 trace.prev = tracehead; tracehead = &trace;
8536 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction75].i]) return;
8537 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction75].i] = 1;
8538 tracehead = trace.prev;
8539 return;
8540 }
8541 void parser___ReduceAction76___action(val_t self, val_t param0) {
8542 struct trace_t trace = {NULL, "parser::ReduceAction76::action (src/parser//parser.nit:4220,2--4289:33)"};
8543 val_t variable0;
8544 val_t variable1;
8545 val_t variable2;
8546 val_t variable3;
8547 val_t variable4;
8548 val_t variable5;
8549 val_t variable6;
8550 val_t variable7;
8551 val_t variable8;
8552 val_t variable9;
8553 val_t variable10;
8554 val_t variable11;
8555 val_t variable12;
8556 val_t variable13;
8557 val_t variable14;
8558 val_t variable15;
8559 val_t variable16;
8560 val_t variable17;
8561 val_t variable18;
8562 val_t variable19;
8563 val_t variable20;
8564 val_t variable21;
8565 val_t variable22;
8566 val_t variable23;
8567 val_t variable24;
8568 val_t variable25;
8569 val_t variable26;
8570 trace.prev = tracehead; tracehead = &trace;
8571 variable0 = param0;
8572 variable1 = NIT_NULL /*null*/;
8573 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8574 variable2 = variable3;
8575 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8576 variable3 = variable4;
8577 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8578 variable4 = variable5;
8579 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8580 variable5 = variable6;
8581 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8582 variable6 = variable7;
8583 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8584 variable7 = variable8;
8585 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8586 variable8 = variable9;
8587 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8588 variable9 = variable10;
8589 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8590 variable10 = variable11;
8591 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8592 variable11 = variable12;
8593 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8594 variable12 = variable13;
8595 variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8596 variable13 = variable14;
8597 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
8598 variable14 = variable15;
8599 variable16 = NEW_array___Array___init(); /*new Array[Object]*/
8600 variable15 = variable16;
8601 variable17 = NEW_array___Array___init(); /*new Array[Object]*/
8602 variable16 = variable17;
8603 variable17 = variable13 /*nodearraylist1*/;
8604 variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8605 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4239,6--30\n"); nit_exit(1);}
8606 variable18 = variable12 /*nodearraylist2*/;
8607 variable19 = TAG_Bool(( variable18 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8608 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4241,6--44\n"); nit_exit(1);}
8609 variable19 = variable11 /*nodearraylist3*/;
8610 variable20 = TAG_Bool(( variable19 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable19 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8611 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4243,6--42\n"); nit_exit(1);}
8612 variable20 = variable9 /*nodearraylist5*/;
8613 variable21 = TAG_Bool(( variable20 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable20 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8614 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4245,6--38\n"); nit_exit(1);}
8615 variable21 = variable8 /*nodearraylist6*/;
8616 variable22 = TAG_Bool(( variable21 /*listnode7*/==NIT_NULL) || VAL_ISA( variable21 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8617 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4247,6--38\n"); nit_exit(1);}
8618 variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode7*/ == NIT_NULL /*null*/) || (( variable21 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
8619 if (UNTAG_Bool(variable22)) { /*if*/
8620 variable22 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode8*/) /*Array::is_empty*/;
8621 if (UNTAG_Bool(variable22)) { /*if*/
8622 variable14 = variable21 /*listnode7*/ /*listnode8=*/;
8623 } else { /*if*/
8624 ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode8*/, variable21 /*listnode7*/) /*Array::append*/;
8625 }
8626 }
8627 variable22 = variable7 /*nodearraylist7*/;
8628 variable23 = TAG_Bool(( variable22 /*listnode9*/==NIT_NULL) || VAL_ISA( variable22 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8629 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4256,6--38\n"); nit_exit(1);}
8630 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode9*/ == NIT_NULL /*null*/) || (( variable22 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode9*/, NIT_NULL /*null*/) /*Array::==*/)))));
8631 if (UNTAG_Bool(variable23)) { /*if*/
8632 variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode10*/) /*Array::is_empty*/;
8633 if (UNTAG_Bool(variable23)) { /*if*/
8634 variable15 = variable22 /*listnode9*/ /*listnode10=*/;
8635 } else { /*if*/
8636 ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode10*/, variable22 /*listnode9*/) /*Array::append*/;
8637 }
8638 }
8639 variable23 = variable6 /*nodearraylist8*/;
8640 variable24 = TAG_Bool(( variable23 /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable23 /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8641 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4265,6--39\n"); nit_exit(1);}
8642 variable24 = variable4 /*nodearraylist10*/;
8643 variable25 = TAG_Bool(( variable24 /*listnode12*/==NIT_NULL) || VAL_ISA( variable24 /*listnode12*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8644 if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4267,6--39\n"); nit_exit(1);}
8645 variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable23 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable23 /*ppropdefnode11*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
8646 if (UNTAG_Bool(variable25)) { /*if*/
8647 ((array___AbstractArray___add_t)CALL( variable16 /*listnode13*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode13*/, variable23 /*ppropdefnode11*/) /*Array::add*/;
8648 }
8649 variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode12*/ == NIT_NULL /*null*/) || (( variable24 /*listnode12*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable24 /*listnode12*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode12*/, NIT_NULL /*null*/) /*Array::==*/)))));
8650 if (UNTAG_Bool(variable25)) { /*if*/
8651 variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode13*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode13*/) /*Array::is_empty*/;
8652 if (UNTAG_Bool(variable25)) { /*if*/
8653 variable16 = variable24 /*listnode12*/ /*listnode13=*/;
8654 } else { /*if*/
8655 ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode13*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode13*/, variable24 /*listnode12*/) /*Array::append*/;
8656 }
8657 }
8658 variable26 = NEW_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/, NIT_NULL /*null*/, variable18 /*pvisibilitynode4*/, variable19 /*pclasskindnode5*/, variable20 /*tclassidnode6*/, variable14 /*listnode8*/, variable15 /*listnode10*/, variable16 /*listnode13*/); /*new AClassdef*/
8659 variable25 = variable26;
8660 variable1 = variable25 /*pclassdefnode1*/ /*node_list=*/;
8661 variable26 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8662 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable26, variable1 /*node_list*/) /*Parser::push*/;
8663 tracehead = trace.prev;
8664 return;
8665 }
8666 void parser___ReduceAction76___init(val_t self, int* init_table) {
8667 struct trace_t trace = {NULL, "parser::ReduceAction76::init (src/parser//parser.nit:4291,1--4)"};
8668 trace.prev = tracehead; tracehead = &trace;
8669 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction76].i]) return;
8670 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction76].i] = 1;
8671 tracehead = trace.prev;
8672 return;
8673 }
8674 void parser___ReduceAction77___action(val_t self, val_t param0) {
8675 struct trace_t trace = {NULL, "parser::ReduceAction77::action (src/parser//parser.nit:4295,2--4357:33)"};
8676 val_t variable0;
8677 val_t variable1;
8678 val_t variable2;
8679 val_t variable3;
8680 val_t variable4;
8681 val_t variable5;
8682 val_t variable6;
8683 val_t variable7;
8684 val_t variable8;
8685 val_t variable9;
8686 val_t variable10;
8687 val_t variable11;
8688 val_t variable12;
8689 val_t variable13;
8690 val_t variable14;
8691 val_t variable15;
8692 val_t variable16;
8693 val_t variable17;
8694 val_t variable18;
8695 val_t variable19;
8696 val_t variable20;
8697 val_t variable21;
8698 val_t variable22;
8699 val_t variable23;
8700 val_t variable24;
8701 val_t variable25;
8702 val_t variable26;
8703 trace.prev = tracehead; tracehead = &trace;
8704 variable0 = param0;
8705 variable1 = NIT_NULL /*null*/;
8706 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8707 variable2 = variable3;
8708 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8709 variable3 = variable4;
8710 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8711 variable4 = variable5;
8712 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8713 variable5 = variable6;
8714 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8715 variable6 = variable7;
8716 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8717 variable7 = variable8;
8718 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8719 variable8 = variable9;
8720 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8721 variable9 = variable10;
8722 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8723 variable10 = variable11;
8724 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8725 variable11 = variable12;
8726 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8727 variable12 = variable13;
8728 variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8729 variable13 = variable14;
8730 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
8731 variable14 = variable15;
8732 variable16 = NEW_array___Array___init(); /*new Array[Object]*/
8733 variable15 = variable16;
8734 variable17 = NEW_array___Array___init(); /*new Array[Object]*/
8735 variable16 = variable17;
8736 variable17 = variable13 /*nodearraylist1*/;
8737 variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8738 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4314,6--30\n"); nit_exit(1);}
8739 variable18 = variable12 /*nodearraylist2*/;
8740 variable19 = TAG_Bool(( variable18 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8741 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4316,6--38\n"); nit_exit(1);}
8742 variable19 = variable11 /*nodearraylist3*/;
8743 variable20 = TAG_Bool(( variable19 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8744 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4318,6--44\n"); nit_exit(1);}
8745 variable20 = variable10 /*nodearraylist4*/;
8746 variable21 = TAG_Bool(( variable20 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable20 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8747 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4320,6--42\n"); nit_exit(1);}
8748 variable21 = variable8 /*nodearraylist6*/;
8749 variable22 = TAG_Bool(( variable21 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable21 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8750 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4322,6--38\n"); nit_exit(1);}
8751 variable22 = variable7 /*nodearraylist7*/;
8752 variable23 = TAG_Bool(( variable22 /*listnode7*/==NIT_NULL) || VAL_ISA( variable22 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8753 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4324,6--38\n"); nit_exit(1);}
8754 variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode7*/ == NIT_NULL /*null*/) || (( variable22 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
8755 if (UNTAG_Bool(variable23)) { /*if*/
8756 variable23 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode8*/) /*Array::is_empty*/;
8757 if (UNTAG_Bool(variable23)) { /*if*/
8758 variable14 = variable22 /*listnode7*/ /*listnode8=*/;
8759 } else { /*if*/
8760 ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode8*/, variable22 /*listnode7*/) /*Array::append*/;
8761 }
8762 }
8763 variable23 = variable6 /*nodearraylist8*/;
8764 variable24 = TAG_Bool(( variable23 /*listnode9*/==NIT_NULL) || VAL_ISA( variable23 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8765 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4333,6--38\n"); nit_exit(1);}
8766 variable24 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*listnode9*/ == NIT_NULL /*null*/) || (( variable23 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable23 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable23 /*listnode9*/, NIT_NULL /*null*/) /*Array::==*/)))));
8767 if (UNTAG_Bool(variable24)) { /*if*/
8768 variable24 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode10*/) /*Array::is_empty*/;
8769 if (UNTAG_Bool(variable24)) { /*if*/
8770 variable15 = variable23 /*listnode9*/ /*listnode10=*/;
8771 } else { /*if*/
8772 ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode10*/, variable23 /*listnode9*/) /*Array::append*/;
8773 }
8774 }
8775 variable24 = variable5 /*nodearraylist9*/;
8776 variable25 = TAG_Bool(( variable24 /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable24 /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8777 if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4342,6--39\n"); nit_exit(1);}
8778 variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable24 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable24 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable24 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable24 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable24 /*ppropdefnode11*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
8779 if (UNTAG_Bool(variable25)) { /*if*/
8780 ((array___AbstractArray___add_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode12*/, variable24 /*ppropdefnode11*/) /*Array::add*/;
8781 }
8782 variable26 = NEW_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/, variable18 /*tkwredefnode3*/, variable19 /*pvisibilitynode4*/, variable20 /*pclasskindnode5*/, variable21 /*tclassidnode6*/, variable14 /*listnode8*/, variable15 /*listnode10*/, variable16 /*listnode12*/); /*new AClassdef*/
8783 variable25 = variable26;
8784 variable1 = variable25 /*pclassdefnode1*/ /*node_list=*/;
8785 variable26 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8786 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable26, variable1 /*node_list*/) /*Parser::push*/;
8787 tracehead = trace.prev;
8788 return;
8789 }
8790 void parser___ReduceAction77___init(val_t self, int* init_table) {
8791 struct trace_t trace = {NULL, "parser::ReduceAction77::init (src/parser//parser.nit:4359,1--4)"};
8792 trace.prev = tracehead; tracehead = &trace;
8793 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction77].i]) return;
8794 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction77].i] = 1;
8795 tracehead = trace.prev;
8796 return;
8797 }
8798 void parser___ReduceAction78___action(val_t self, val_t param0) {
8799 struct trace_t trace = {NULL, "parser::ReduceAction78::action (src/parser//parser.nit:4363,2--4435:33)"};
8800 val_t variable0;
8801 val_t variable1;
8802 val_t variable2;
8803 val_t variable3;
8804 val_t variable4;
8805 val_t variable5;
8806 val_t variable6;
8807 val_t variable7;
8808 val_t variable8;
8809 val_t variable9;
8810 val_t variable10;
8811 val_t variable11;
8812 val_t variable12;
8813 val_t variable13;
8814 val_t variable14;
8815 val_t variable15;
8816 val_t variable16;
8817 val_t variable17;
8818 val_t variable18;
8819 val_t variable19;
8820 val_t variable20;
8821 val_t variable21;
8822 val_t variable22;
8823 val_t variable23;
8824 val_t variable24;
8825 val_t variable25;
8826 val_t variable26;
8827 val_t variable27;
8828 val_t variable28;
8829 trace.prev = tracehead; tracehead = &trace;
8830 variable0 = param0;
8831 variable1 = NIT_NULL /*null*/;
8832 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8833 variable2 = variable3;
8834 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8835 variable3 = variable4;
8836 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8837 variable4 = variable5;
8838 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8839 variable5 = variable6;
8840 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8841 variable6 = variable7;
8842 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8843 variable7 = variable8;
8844 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8845 variable8 = variable9;
8846 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8847 variable9 = variable10;
8848 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8849 variable10 = variable11;
8850 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8851 variable11 = variable12;
8852 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8853 variable12 = variable13;
8854 variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8855 variable13 = variable14;
8856 variable15 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8857 variable14 = variable15;
8858 variable16 = NEW_array___Array___init(); /*new Array[Object]*/
8859 variable15 = variable16;
8860 variable17 = NEW_array___Array___init(); /*new Array[Object]*/
8861 variable16 = variable17;
8862 variable18 = NEW_array___Array___init(); /*new Array[Object]*/
8863 variable17 = variable18;
8864 variable18 = variable14 /*nodearraylist1*/;
8865 variable19 = TAG_Bool(( variable18 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable18 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8866 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4383,6--30\n"); nit_exit(1);}
8867 variable19 = variable13 /*nodearraylist2*/;
8868 variable20 = TAG_Bool(( variable19 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8869 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4385,6--38\n"); nit_exit(1);}
8870 variable20 = variable12 /*nodearraylist3*/;
8871 variable21 = TAG_Bool(( variable20 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8872 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4387,6--44\n"); nit_exit(1);}
8873 variable21 = variable11 /*nodearraylist4*/;
8874 variable22 = TAG_Bool(( variable21 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable21 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8875 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4389,6--42\n"); nit_exit(1);}
8876 variable22 = variable9 /*nodearraylist6*/;
8877 variable23 = TAG_Bool(( variable22 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable22 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8878 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4391,6--38\n"); nit_exit(1);}
8879 variable23 = variable8 /*nodearraylist7*/;
8880 variable24 = TAG_Bool(( variable23 /*listnode7*/==NIT_NULL) || VAL_ISA( variable23 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8881 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4393,6--38\n"); nit_exit(1);}
8882 variable24 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*listnode7*/ == NIT_NULL /*null*/) || (( variable23 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable23 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable23 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/)))));
8883 if (UNTAG_Bool(variable24)) { /*if*/
8884 variable24 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode8*/) /*Array::is_empty*/;
8885 if (UNTAG_Bool(variable24)) { /*if*/
8886 variable15 = variable23 /*listnode7*/ /*listnode8=*/;
8887 } else { /*if*/
8888 ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode8*/, variable23 /*listnode7*/) /*Array::append*/;
8889 }
8890 }
8891 variable24 = variable7 /*nodearraylist8*/;
8892 variable25 = TAG_Bool(( variable24 /*listnode9*/==NIT_NULL) || VAL_ISA( variable24 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8893 if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4402,6--38\n"); nit_exit(1);}
8894 variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode9*/ == NIT_NULL /*null*/) || (( variable24 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable24 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode9*/, NIT_NULL /*null*/) /*Array::==*/)))));
8895 if (UNTAG_Bool(variable25)) { /*if*/
8896 variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode10*/) /*Array::is_empty*/;
8897 if (UNTAG_Bool(variable25)) { /*if*/
8898 variable16 = variable24 /*listnode9*/ /*listnode10=*/;
8899 } else { /*if*/
8900 ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode10*/, variable24 /*listnode9*/) /*Array::append*/;
8901 }
8902 }
8903 variable25 = variable6 /*nodearraylist9*/;
8904 variable26 = TAG_Bool(( variable25 /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable25 /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8905 if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4411,6--39\n"); nit_exit(1);}
8906 variable26 = variable4 /*nodearraylist11*/;
8907 variable27 = TAG_Bool(( variable26 /*listnode12*/==NIT_NULL) || VAL_ISA( variable26 /*listnode12*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8908 if (!UNTAG_Bool(variable27)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4413,6--39\n"); nit_exit(1);}
8909 variable27 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable25 /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable25 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable25 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable25 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable25 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable25 /*ppropdefnode11*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
8910 if (UNTAG_Bool(variable27)) { /*if*/
8911 ((array___AbstractArray___add_t)CALL( variable17 /*listnode13*/,COLOR_abstract_collection___SimpleCollection___add))( variable17 /*listnode13*/, variable25 /*ppropdefnode11*/) /*Array::add*/;
8912 }
8913 variable27 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable26 /*listnode12*/ == NIT_NULL /*null*/) || (( variable26 /*listnode12*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable26 /*listnode12*/,COLOR_kernel___Object_____eqeq))( variable26 /*listnode12*/, NIT_NULL /*null*/) /*Array::==*/)))));
8914 if (UNTAG_Bool(variable27)) { /*if*/
8915 variable27 = ((array___AbstractArray___is_empty_t)CALL( variable17 /*listnode13*/,COLOR_abstract_collection___Collection___is_empty))( variable17 /*listnode13*/) /*Array::is_empty*/;
8916 if (UNTAG_Bool(variable27)) { /*if*/
8917 variable17 = variable26 /*listnode12*/ /*listnode13=*/;
8918 } else { /*if*/
8919 ((abstract_collection___IndexedCollection___append_t)CALL( variable17 /*listnode13*/,COLOR_abstract_collection___IndexedCollection___append))( variable17 /*listnode13*/, variable26 /*listnode12*/) /*Array::append*/;
8920 }
8921 }
8922 variable28 = NEW_parser_prod___AClassdef___init_aclassdef( variable18 /*pdocnode2*/, variable19 /*tkwredefnode3*/, variable20 /*pvisibilitynode4*/, variable21 /*pclasskindnode5*/, variable22 /*tclassidnode6*/, variable15 /*listnode8*/, variable16 /*listnode10*/, variable17 /*listnode13*/); /*new AClassdef*/
8923 variable27 = variable28;
8924 variable1 = variable27 /*pclassdefnode1*/ /*node_list=*/;
8925 variable28 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8926 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable28, variable1 /*node_list*/) /*Parser::push*/;
8927 tracehead = trace.prev;
8928 return;
8929 }
8930 void parser___ReduceAction78___init(val_t self, int* init_table) {
8931 struct trace_t trace = {NULL, "parser::ReduceAction78::init (src/parser//parser.nit:4437,1--4)"};
8932 trace.prev = tracehead; tracehead = &trace;
8933 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction78].i]) return;
8934 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction78].i] = 1;
8935 tracehead = trace.prev;
8936 return;
8937 }
8938 void parser___ReduceAction79___action(val_t self, val_t param0) {
8939 struct trace_t trace = {NULL, "parser::ReduceAction79::action (src/parser//parser.nit:4441,2--4451:33)"};
8940 val_t variable0;
8941 val_t variable1;
8942 val_t variable2;
8943 val_t variable3;
8944 val_t variable4;
8945 val_t variable5;
8946 trace.prev = tracehead; tracehead = &trace;
8947 variable0 = param0;
8948 variable1 = NIT_NULL /*null*/;
8949 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8950 variable2 = variable3;
8951 variable3 = variable2 /*nodearraylist1*/;
8952 variable4 = TAG_Bool(( variable3 /*tkwclassnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwclassnode2*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
8953 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4446,6--38\n"); nit_exit(1);}
8954 variable5 = NEW_parser_prod___AConcreteClasskind___init_aconcreteclasskind( variable3 /*tkwclassnode2*/); /*new AConcreteClasskind*/
8955 variable4 = variable5;
8956 variable1 = variable4 /*pclasskindnode1*/ /*node_list=*/;
8957 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(6)) /*Parser::go_to*/;
8958 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
8959 tracehead = trace.prev;
8960 return;
8961 }
8962 void parser___ReduceAction79___init(val_t self, int* init_table) {
8963 struct trace_t trace = {NULL, "parser::ReduceAction79::init (src/parser//parser.nit:4453,1--4)"};
8964 trace.prev = tracehead; tracehead = &trace;
8965 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction79].i]) return;
8966 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction79].i] = 1;
8967 tracehead = trace.prev;
8968 return;
8969 }
8970 void parser___ReduceAction80___action(val_t self, val_t param0) {
8971 struct trace_t trace = {NULL, "parser::ReduceAction80::action (src/parser//parser.nit:4457,2--4471:33)"};
8972 val_t variable0;
8973 val_t variable1;
8974 val_t variable2;
8975 val_t variable3;
8976 val_t variable4;
8977 val_t variable5;
8978 val_t variable6;
8979 val_t variable7;
8980 trace.prev = tracehead; tracehead = &trace;
8981 variable0 = param0;
8982 variable1 = NIT_NULL /*null*/;
8983 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8984 variable2 = variable3;
8985 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
8986 variable3 = variable4;
8987 variable4 = variable3 /*nodearraylist1*/;
8988 variable5 = TAG_Bool(( variable4 /*tkwabstractnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwabstractnode2*/, COLOR_TKwabstract, ID_TKwabstract)) /*cast TKwabstract*/;
8989 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4463,6--44\n"); nit_exit(1);}
8990 variable5 = variable2 /*nodearraylist2*/;
8991 variable6 = TAG_Bool(( variable5 /*tkwclassnode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwclassnode3*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
8992 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4465,6--38\n"); nit_exit(1);}
8993 variable7 = NEW_parser_prod___AAbstractClasskind___init_aabstractclasskind( variable4 /*tkwabstractnode2*/, variable5 /*tkwclassnode3*/); /*new AAbstractClasskind*/
8994 variable6 = variable7;
8995 variable1 = variable6 /*pclasskindnode1*/ /*node_list=*/;
8996 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(6)) /*Parser::go_to*/;
8997 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
8998 tracehead = trace.prev;
8999 return;
9000 }
9001 void parser___ReduceAction80___init(val_t self, int* init_table) {
9002 struct trace_t trace = {NULL, "parser::ReduceAction80::init (src/parser//parser.nit:4473,1--4)"};
9003 trace.prev = tracehead; tracehead = &trace;
9004 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction80].i]) return;
9005 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction80].i] = 1;
9006 tracehead = trace.prev;
9007 return;
9008 }
9009 void parser___ReduceAction81___action(val_t self, val_t param0) {
9010 struct trace_t trace = {NULL, "parser::ReduceAction81::action (src/parser//parser.nit:4477,2--4487:33)"};
9011 val_t variable0;
9012 val_t variable1;
9013 val_t variable2;
9014 val_t variable3;
9015 val_t variable4;
9016 val_t variable5;
9017 trace.prev = tracehead; tracehead = &trace;
9018 variable0 = param0;
9019 variable1 = NIT_NULL /*null*/;
9020 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9021 variable2 = variable3;
9022 variable3 = variable2 /*nodearraylist1*/;
9023 variable4 = TAG_Bool(( variable3 /*tkwinterfacenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwinterfacenode2*/, COLOR_TKwinterface, ID_TKwinterface)) /*cast TKwinterface*/;
9024 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4482,6--46\n"); nit_exit(1);}
9025 variable5 = NEW_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind( variable3 /*tkwinterfacenode2*/); /*new AInterfaceClasskind*/
9026 variable4 = variable5;
9027 variable1 = variable4 /*pclasskindnode1*/ /*node_list=*/;
9028 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(6)) /*Parser::go_to*/;
9029 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
9030 tracehead = trace.prev;
9031 return;
9032 }
9033 void parser___ReduceAction81___init(val_t self, int* init_table) {
9034 struct trace_t trace = {NULL, "parser::ReduceAction81::init (src/parser//parser.nit:4489,1--4)"};
9035 trace.prev = tracehead; tracehead = &trace;
9036 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction81].i]) return;
9037 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction81].i] = 1;
9038 tracehead = trace.prev;
9039 return;
9040 }
9041 void parser___ReduceAction82___action(val_t self, val_t param0) {
9042 struct trace_t trace = {NULL, "parser::ReduceAction82::action (src/parser//parser.nit:4493,2--4503:33)"};
9043 val_t variable0;
9044 val_t variable1;
9045 val_t variable2;
9046 val_t variable3;
9047 val_t variable4;
9048 val_t variable5;
9049 trace.prev = tracehead; tracehead = &trace;
9050 variable0 = param0;
9051 variable1 = NIT_NULL /*null*/;
9052 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9053 variable2 = variable3;
9054 variable3 = variable2 /*nodearraylist1*/;
9055 variable4 = TAG_Bool(( variable3 /*tkwuniversalnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwuniversalnode2*/, COLOR_TKwuniversal, ID_TKwuniversal)) /*cast TKwuniversal*/;
9056 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4498,6--46\n"); nit_exit(1);}
9057 variable5 = NEW_parser_prod___AUniversalClasskind___init_auniversalclasskind( variable3 /*tkwuniversalnode2*/); /*new AUniversalClasskind*/
9058 variable4 = variable5;
9059 variable1 = variable4 /*pclasskindnode1*/ /*node_list=*/;
9060 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(6)) /*Parser::go_to*/;
9061 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
9062 tracehead = trace.prev;
9063 return;
9064 }
9065 void parser___ReduceAction82___init(val_t self, int* init_table) {
9066 struct trace_t trace = {NULL, "parser::ReduceAction82::init (src/parser//parser.nit:4505,1--4)"};
9067 trace.prev = tracehead; tracehead = &trace;
9068 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction82].i]) return;
9069 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction82].i] = 1;
9070 tracehead = trace.prev;
9071 return;
9072 }
9073 void parser___ReduceAction83___action(val_t self, val_t param0) {
9074 struct trace_t trace = {NULL, "parser::ReduceAction83::action (src/parser//parser.nit:4509,2--4524:33)"};
9075 val_t variable0;
9076 val_t variable1;
9077 val_t variable2;
9078 val_t variable3;
9079 val_t variable4;
9080 val_t variable5;
9081 val_t variable6;
9082 val_t variable7;
9083 val_t variable8;
9084 val_t variable9;
9085 trace.prev = tracehead; tracehead = &trace;
9086 variable0 = param0;
9087 variable1 = NIT_NULL /*null*/;
9088 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9089 variable2 = variable3;
9090 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9091 variable3 = variable4;
9092 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9093 variable4 = variable5;
9094 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9095 variable5 = variable6;
9096 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9097 variable6 = variable7;
9098 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
9099 variable7 = variable8;
9100 variable8 = variable4 /*nodearraylist3*/;
9101 variable9 = TAG_Bool(( variable8 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
9102 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4519,6--42\n"); nit_exit(1);}
9103 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pformaldefnode1*/ == NIT_NULL /*null*/) || (( variable8 /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pformaldefnode1*/, NIT_NULL /*null*/) /*PFormaldef::==*/)))))));
9104 if (UNTAG_Bool(variable9)) { /*if*/
9105 ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/, variable8 /*pformaldefnode1*/) /*Array::add*/;
9106 }
9107 variable1 = variable7 /*listnode2*/ /*node_list=*/;
9108 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(7)) /*Parser::go_to*/;
9109 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
9110 tracehead = trace.prev;
9111 return;
9112 }
9113 void parser___ReduceAction83___init(val_t self, int* init_table) {
9114 struct trace_t trace = {NULL, "parser::ReduceAction83::init (src/parser//parser.nit:4526,1--4)"};
9115 trace.prev = tracehead; tracehead = &trace;
9116 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction83].i]) return;
9117 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction83].i] = 1;
9118 tracehead = trace.prev;
9119 return;
9120 }
9121 void parser___ReduceAction84___action(val_t self, val_t param0) {
9122 struct trace_t trace = {NULL, "parser::ReduceAction84::action (src/parser//parser.nit:4530,2--4555:33)"};
9123 val_t variable0;
9124 val_t variable1;
9125 val_t variable2;
9126 val_t variable3;
9127 val_t variable4;
9128 val_t variable5;
9129 val_t variable6;
9130 val_t variable7;
9131 val_t variable8;
9132 val_t variable9;
9133 val_t variable10;
9134 val_t variable11;
9135 trace.prev = tracehead; tracehead = &trace;
9136 variable0 = param0;
9137 variable1 = NIT_NULL /*null*/;
9138 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9139 variable2 = variable3;
9140 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9141 variable3 = variable4;
9142 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9143 variable4 = variable5;
9144 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9145 variable5 = variable6;
9146 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9147 variable6 = variable7;
9148 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9149 variable7 = variable8;
9150 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
9151 variable8 = variable9;
9152 variable9 = variable5 /*nodearraylist3*/;
9153 variable10 = TAG_Bool(( variable9 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
9154 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4541,6--42\n"); nit_exit(1);}
9155 variable10 = variable4 /*nodearraylist4*/;
9156 variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9157 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4543,6--38\n"); nit_exit(1);}
9158 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pformaldefnode1*/ == NIT_NULL /*null*/) || (( variable9 /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pformaldefnode1*/, NIT_NULL /*null*/) /*PFormaldef::==*/)))))));
9159 if (UNTAG_Bool(variable11)) { /*if*/
9160 ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/, variable9 /*pformaldefnode1*/) /*Array::add*/;
9161 }
9162 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ == NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
9163 if (UNTAG_Bool(variable11)) { /*if*/
9164 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/;
9165 if (UNTAG_Bool(variable11)) { /*if*/
9166 variable8 = variable10 /*listnode2*/ /*listnode3=*/;
9167 } else { /*if*/
9168 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/, variable10 /*listnode2*/) /*Array::append*/;
9169 }
9170 }
9171 variable1 = variable8 /*listnode3*/ /*node_list=*/;
9172 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(7)) /*Parser::go_to*/;
9173 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
9174 tracehead = trace.prev;
9175 return;
9176 }
9177 void parser___ReduceAction84___init(val_t self, int* init_table) {
9178 struct trace_t trace = {NULL, "parser::ReduceAction84::init (src/parser//parser.nit:4557,1--4)"};
9179 trace.prev = tracehead; tracehead = &trace;
9180 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction84].i]) return;
9181 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction84].i] = 1;
9182 tracehead = trace.prev;
9183 return;
9184 }
9185 void parser___ReduceAction85___action(val_t self, val_t param0) {
9186 struct trace_t trace = {NULL, "parser::ReduceAction85::action (src/parser//parser.nit:4561,2--4570:33)"};
9187 val_t variable0;
9188 val_t variable1;
9189 val_t variable2;
9190 val_t variable3;
9191 val_t variable4;
9192 val_t variable5;
9193 val_t variable6;
9194 trace.prev = tracehead; tracehead = &trace;
9195 variable0 = param0;
9196 variable1 = NIT_NULL /*null*/;
9197 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9198 variable2 = variable3;
9199 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9200 variable3 = variable4;
9201 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9202 variable4 = variable5;
9203 variable5 = variable2 /*nodearraylist3*/;
9204 variable6 = TAG_Bool(( variable5 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
9205 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4568,6--42\n"); nit_exit(1);}
9206 variable1 = variable5 /*pformaldefnode1*/ /*node_list=*/;
9207 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(8)) /*Parser::go_to*/;
9208 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
9209 tracehead = trace.prev;
9210 return;
9211 }
9212 void parser___ReduceAction85___init(val_t self, int* init_table) {
9213 struct trace_t trace = {NULL, "parser::ReduceAction85::init (src/parser//parser.nit:4572,1--4)"};
9214 trace.prev = tracehead; tracehead = &trace;
9215 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction85].i]) return;
9216 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction85].i] = 1;
9217 tracehead = trace.prev;
9218 return;
9219 }
9220 void parser___ReduceAction86___action(val_t self, val_t param0) {
9221 struct trace_t trace = {NULL, "parser::ReduceAction86::action (src/parser//parser.nit:4576,2--4587:33)"};
9222 val_t variable0;
9223 val_t variable1;
9224 val_t variable2;
9225 val_t variable3;
9226 val_t variable4;
9227 val_t variable5;
9228 trace.prev = tracehead; tracehead = &trace;
9229 variable0 = param0;
9230 variable1 = NIT_NULL /*null*/;
9231 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9232 variable2 = variable3;
9233 variable3 = variable2 /*nodearraylist1*/;
9234 variable4 = TAG_Bool(( variable3 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
9235 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4581,6--38\n"); nit_exit(1);}
9236 variable5 = NEW_parser_prod___AFormaldef___init_aformaldef( variable3 /*tclassidnode2*/, NIT_NULL /*null*/); /*new AFormaldef*/
9237 variable4 = variable5;
9238 variable1 = variable4 /*pformaldefnode1*/ /*node_list=*/;
9239 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(9)) /*Parser::go_to*/;
9240 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
9241 tracehead = trace.prev;
9242 return;
9243 }
9244 void parser___ReduceAction86___init(val_t self, int* init_table) {
9245 struct trace_t trace = {NULL, "parser::ReduceAction86::init (src/parser//parser.nit:4589,1--4)"};
9246 trace.prev = tracehead; tracehead = &trace;
9247 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction86].i]) return;
9248 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction86].i] = 1;
9249 tracehead = trace.prev;
9250 return;
9251 }
9252 void parser___ReduceAction87___action(val_t self, val_t param0) {
9253 struct trace_t trace = {NULL, "parser::ReduceAction87::action (src/parser//parser.nit:4593,2--4607:33)"};
9254 val_t variable0;
9255 val_t variable1;
9256 val_t variable2;
9257 val_t variable3;
9258 val_t variable4;
9259 val_t variable5;
9260 val_t variable6;
9261 val_t variable7;
9262 trace.prev = tracehead; tracehead = &trace;
9263 variable0 = param0;
9264 variable1 = NIT_NULL /*null*/;
9265 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9266 variable2 = variable3;
9267 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9268 variable3 = variable4;
9269 variable4 = variable3 /*nodearraylist1*/;
9270 variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
9271 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4599,6--38\n"); nit_exit(1);}
9272 variable5 = variable2 /*nodearraylist2*/;
9273 variable6 = TAG_Bool(( variable5 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
9274 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4601,6--32\n"); nit_exit(1);}
9275 variable7 = NEW_parser_prod___AFormaldef___init_aformaldef( variable4 /*tclassidnode2*/, variable5 /*ptypenode3*/); /*new AFormaldef*/
9276 variable6 = variable7;
9277 variable1 = variable6 /*pformaldefnode1*/ /*node_list=*/;
9278 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(9)) /*Parser::go_to*/;
9279 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
9280 tracehead = trace.prev;
9281 return;
9282 }
9283 void parser___ReduceAction87___init(val_t self, int* init_table) {
9284 struct trace_t trace = {NULL, "parser::ReduceAction87::init (src/parser//parser.nit:4609,1--4)"};
9285 trace.prev = tracehead; tracehead = &trace;
9286 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction87].i]) return;
9287 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction87].i] = 1;
9288 tracehead = trace.prev;
9289 return;
9290 }
9291 void parser___ReduceAction88___action(val_t self, val_t param0) {
9292 struct trace_t trace = {NULL, "parser::ReduceAction88::action (src/parser//parser.nit:4613,2--4629:34)"};
9293 val_t variable0;
9294 val_t variable1;
9295 val_t variable2;
9296 val_t variable3;
9297 val_t variable4;
9298 val_t variable5;
9299 val_t variable6;
9300 val_t variable7;
9301 val_t variable8;
9302 val_t variable9;
9303 trace.prev = tracehead; tracehead = &trace;
9304 variable0 = param0;
9305 variable1 = NIT_NULL /*null*/;
9306 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9307 variable2 = variable3;
9308 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9309 variable3 = variable4;
9310 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9311 variable4 = variable5;
9312 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9313 variable5 = variable6;
9314 variable6 = variable4 /*nodearraylist2*/;
9315 variable7 = TAG_Bool(( variable6 /*tkwspecialnode2*/==NIT_NULL) || VAL_ISA( variable6 /*tkwspecialnode2*/, COLOR_TKwspecial, ID_TKwspecial)) /*cast TKwspecial*/;
9316 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4621,6--42\n"); nit_exit(1);}
9317 variable7 = variable2 /*nodearraylist4*/;
9318 variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
9319 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4623,6--32\n"); nit_exit(1);}
9320 variable9 = NEW_parser_prod___ASuperclass___init_asuperclass( variable6 /*tkwspecialnode2*/, variable7 /*ptypenode3*/); /*new ASuperclass*/
9321 variable8 = variable9;
9322 variable1 = variable8 /*psuperclassnode1*/ /*node_list=*/;
9323 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(10)) /*Parser::go_to*/;
9324 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
9325 tracehead = trace.prev;
9326 return;
9327 }
9328 void parser___ReduceAction88___init(val_t self, int* init_table) {
9329 struct trace_t trace = {NULL, "parser::ReduceAction88::init (src/parser//parser.nit:4631,1--4)"};
9330 trace.prev = tracehead; tracehead = &trace;
9331 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction88].i]) return;
9332 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction88].i] = 1;
9333 tracehead = trace.prev;
9334 return;
9335 }
9336 void parser___ReduceAction89___action(val_t self, val_t param0) {
9337 struct trace_t trace = {NULL, "parser::ReduceAction89::action (src/parser//parser.nit:4635,2--4643:34)"};
9338 val_t variable0;
9339 val_t variable1;
9340 val_t variable2;
9341 val_t variable3;
9342 val_t variable4;
9343 val_t variable5;
9344 trace.prev = tracehead; tracehead = &trace;
9345 variable0 = param0;
9346 variable1 = NIT_NULL /*null*/;
9347 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9348 variable2 = variable3;
9349 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9350 variable3 = variable4;
9351 variable4 = variable3 /*nodearraylist1*/;
9352 variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
9353 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4641,6--38\n"); nit_exit(1);}
9354 variable1 = variable4 /*ppropdefnode1*/ /*node_list=*/;
9355 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(11)) /*Parser::go_to*/;
9356 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
9357 tracehead = trace.prev;
9358 return;
9359 }
9360 void parser___ReduceAction89___init(val_t self, int* init_table) {
9361 struct trace_t trace = {NULL, "parser::ReduceAction89::init (src/parser//parser.nit:4645,1--4)"};
9362 trace.prev = tracehead; tracehead = &trace;
9363 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction89].i]) return;
9364 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction89].i] = 1;
9365 tracehead = trace.prev;
9366 return;
9367 }
9368 void parser___ReduceAction90___action(val_t self, val_t param0) {
9369 struct trace_t trace = {NULL, "parser::ReduceAction90::action (src/parser//parser.nit:4649,2--4690:34)"};
9370 val_t variable0;
9371 val_t variable1;
9372 val_t variable2;
9373 val_t variable3;
9374 val_t variable4;
9375 val_t variable5;
9376 val_t variable6;
9377 val_t variable7;
9378 val_t variable8;
9379 val_t variable9;
9380 val_t variable10;
9381 val_t variable11;
9382 val_t variable12;
9383 val_t variable13;
9384 val_t variable14;
9385 val_t variable15;
9386 val_t variable16;
9387 val_t variable17;
9388 trace.prev = tracehead; tracehead = &trace;
9389 variable0 = param0;
9390 variable1 = NIT_NULL /*null*/;
9391 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9392 variable2 = variable3;
9393 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9394 variable3 = variable4;
9395 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9396 variable4 = variable5;
9397 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9398 variable5 = variable6;
9399 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9400 variable6 = variable7;
9401 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9402 variable7 = variable8;
9403 variable8 = variable7 /*nodearraylist1*/;
9404 variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9405 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4659,6--30\n"); nit_exit(1);}
9406 variable9 = variable6 /*nodearraylist2*/;
9407 variable10 = TAG_Bool(( variable9 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9408 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4661,6--44\n"); nit_exit(1);}
9409 variable11 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable9 /*tkwreadablenode5*/); /*new AReadAble*/
9410 variable10 = variable11;
9411 variable11 = variable5 /*nodearraylist3*/;
9412 variable12 = TAG_Bool(( variable11 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable11 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9413 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4667,6--44\n"); nit_exit(1);}
9414 variable13 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable11 /*tkwwritablenode8*/); /*new AWriteAble*/
9415 variable12 = variable13;
9416 variable13 = variable4 /*nodearraylist4*/;
9417 variable14 = TAG_Bool(( variable13 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9418 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4673,6--45\n"); nit_exit(1);}
9419 variable14 = variable3 /*nodearraylist5*/;
9420 variable15 = TAG_Bool(( variable14 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9421 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4675,6--37\n"); nit_exit(1);}
9422 variable15 = variable2 /*nodearraylist6*/;
9423 variable16 = TAG_Bool(( variable15 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9424 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4677,6--37\n"); nit_exit(1);}
9425 variable17 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, variable10 /*pablenode3*/, variable12 /*pablenode6*/, NIT_NULL /*null*/, variable13 /*pvisibilitynode10*/, variable14 /*tkwattrnode11*/, variable15 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9426 variable16 = variable17;
9427 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
9428 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9429 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
9430 tracehead = trace.prev;
9431 return;
9432 }
9433 void parser___ReduceAction90___init(val_t self, int* init_table) {
9434 struct trace_t trace = {NULL, "parser::ReduceAction90::init (src/parser//parser.nit:4692,1--4)"};
9435 trace.prev = tracehead; tracehead = &trace;
9436 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction90].i]) return;
9437 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction90].i] = 1;
9438 tracehead = trace.prev;
9439 return;
9440 }
9441 void parser___ReduceAction91___action(val_t self, val_t param0) {
9442 struct trace_t trace = {NULL, "parser::ReduceAction91::action (src/parser//parser.nit:4696,2--4740:34)"};
9443 val_t variable0;
9444 val_t variable1;
9445 val_t variable2;
9446 val_t variable3;
9447 val_t variable4;
9448 val_t variable5;
9449 val_t variable6;
9450 val_t variable7;
9451 val_t variable8;
9452 val_t variable9;
9453 val_t variable10;
9454 val_t variable11;
9455 val_t variable12;
9456 val_t variable13;
9457 val_t variable14;
9458 val_t variable15;
9459 val_t variable16;
9460 val_t variable17;
9461 val_t variable18;
9462 val_t variable19;
9463 trace.prev = tracehead; tracehead = &trace;
9464 variable0 = param0;
9465 variable1 = NIT_NULL /*null*/;
9466 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9467 variable2 = variable3;
9468 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9469 variable3 = variable4;
9470 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9471 variable4 = variable5;
9472 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9473 variable5 = variable6;
9474 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9475 variable6 = variable7;
9476 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9477 variable7 = variable8;
9478 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9479 variable8 = variable9;
9480 variable9 = variable8 /*nodearraylist1*/;
9481 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9482 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4707,6--30\n"); nit_exit(1);}
9483 variable10 = variable7 /*nodearraylist2*/;
9484 variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9485 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4709,6--44\n"); nit_exit(1);}
9486 variable12 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable10 /*tkwreadablenode5*/); /*new AReadAble*/
9487 variable11 = variable12;
9488 variable12 = variable6 /*nodearraylist3*/;
9489 variable13 = TAG_Bool(( variable12 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9490 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4715,6--38\n"); nit_exit(1);}
9491 variable13 = variable5 /*nodearraylist4*/;
9492 variable14 = TAG_Bool(( variable13 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9493 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4717,6--44\n"); nit_exit(1);}
9494 variable15 = NEW_parser_prod___AWriteAble___init_awriteable( variable12 /*tkwredefnode7*/, variable13 /*tkwwritablenode8*/); /*new AWriteAble*/
9495 variable14 = variable15;
9496 variable15 = variable4 /*nodearraylist5*/;
9497 variable16 = TAG_Bool(( variable15 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9498 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4723,6--45\n"); nit_exit(1);}
9499 variable16 = variable3 /*nodearraylist6*/;
9500 variable17 = TAG_Bool(( variable16 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9501 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4725,6--37\n"); nit_exit(1);}
9502 variable17 = variable2 /*nodearraylist7*/;
9503 variable18 = TAG_Bool(( variable17 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9504 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4727,6--37\n"); nit_exit(1);}
9505 variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable11 /*pablenode3*/, variable14 /*pablenode6*/, NIT_NULL /*null*/, variable15 /*pvisibilitynode10*/, variable16 /*tkwattrnode11*/, variable17 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9506 variable18 = variable19;
9507 variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/;
9508 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9509 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
9510 tracehead = trace.prev;
9511 return;
9512 }
9513 void parser___ReduceAction91___init(val_t self, int* init_table) {
9514 struct trace_t trace = {NULL, "parser::ReduceAction91::init (src/parser//parser.nit:4742,1--4)"};
9515 trace.prev = tracehead; tracehead = &trace;
9516 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction91].i]) return;
9517 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction91].i] = 1;
9518 tracehead = trace.prev;
9519 return;
9520 }
9521 void parser___ReduceAction92___action(val_t self, val_t param0) {
9522 struct trace_t trace = {NULL, "parser::ReduceAction92::action (src/parser//parser.nit:4746,2--4780:34)"};
9523 val_t variable0;
9524 val_t variable1;
9525 val_t variable2;
9526 val_t variable3;
9527 val_t variable4;
9528 val_t variable5;
9529 val_t variable6;
9530 val_t variable7;
9531 val_t variable8;
9532 val_t variable9;
9533 val_t variable10;
9534 val_t variable11;
9535 val_t variable12;
9536 val_t variable13;
9537 val_t variable14;
9538 trace.prev = tracehead; tracehead = &trace;
9539 variable0 = param0;
9540 variable1 = NIT_NULL /*null*/;
9541 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9542 variable2 = variable3;
9543 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9544 variable3 = variable4;
9545 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9546 variable4 = variable5;
9547 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9548 variable5 = variable6;
9549 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9550 variable6 = variable7;
9551 variable7 = variable6 /*nodearraylist1*/;
9552 variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9553 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4755,6--30\n"); nit_exit(1);}
9554 variable8 = variable5 /*nodearraylist2*/;
9555 variable9 = TAG_Bool(( variable8 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable8 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9556 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4757,6--44\n"); nit_exit(1);}
9557 variable10 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable8 /*tkwreadablenode5*/); /*new AReadAble*/
9558 variable9 = variable10;
9559 variable10 = variable4 /*nodearraylist3*/;
9560 variable11 = TAG_Bool(( variable10 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9561 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4763,6--44\n"); nit_exit(1);}
9562 variable11 = variable3 /*nodearraylist4*/;
9563 variable12 = TAG_Bool(( variable11 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable11 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9564 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4765,6--36\n"); nit_exit(1);}
9565 variable12 = variable2 /*nodearraylist5*/;
9566 variable13 = TAG_Bool(( variable12 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable12 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9567 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4767,6--37\n"); nit_exit(1);}
9568 variable14 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/, variable9 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode8*/, variable11 /*tkwattrnode9*/, variable12 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9569 variable13 = variable14;
9570 variable1 = variable13 /*ppropdefnode1*/ /*node_list=*/;
9571 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9572 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
9573 tracehead = trace.prev;
9574 return;
9575 }
9576 void parser___ReduceAction92___init(val_t self, int* init_table) {
9577 struct trace_t trace = {NULL, "parser::ReduceAction92::init (src/parser//parser.nit:4782,1--4)"};
9578 trace.prev = tracehead; tracehead = &trace;
9579 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction92].i]) return;
9580 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction92].i] = 1;
9581 tracehead = trace.prev;
9582 return;
9583 }
9584 void parser___ReduceAction93___action(val_t self, val_t param0) {
9585 struct trace_t trace = {NULL, "parser::ReduceAction93::action (src/parser//parser.nit:4786,2--4830:34)"};
9586 val_t variable0;
9587 val_t variable1;
9588 val_t variable2;
9589 val_t variable3;
9590 val_t variable4;
9591 val_t variable5;
9592 val_t variable6;
9593 val_t variable7;
9594 val_t variable8;
9595 val_t variable9;
9596 val_t variable10;
9597 val_t variable11;
9598 val_t variable12;
9599 val_t variable13;
9600 val_t variable14;
9601 val_t variable15;
9602 val_t variable16;
9603 val_t variable17;
9604 val_t variable18;
9605 val_t variable19;
9606 trace.prev = tracehead; tracehead = &trace;
9607 variable0 = param0;
9608 variable1 = NIT_NULL /*null*/;
9609 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9610 variable2 = variable3;
9611 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9612 variable3 = variable4;
9613 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9614 variable4 = variable5;
9615 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9616 variable5 = variable6;
9617 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9618 variable6 = variable7;
9619 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9620 variable7 = variable8;
9621 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9622 variable8 = variable9;
9623 variable9 = variable8 /*nodearraylist1*/;
9624 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9625 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4797,6--30\n"); nit_exit(1);}
9626 variable10 = variable7 /*nodearraylist2*/;
9627 variable11 = TAG_Bool(( variable10 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9628 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4799,6--38\n"); nit_exit(1);}
9629 variable11 = variable6 /*nodearraylist3*/;
9630 variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9631 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4801,6--44\n"); nit_exit(1);}
9632 variable13 = NEW_parser_prod___AReadAble___init_areadable( variable10 /*tkwredefnode4*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/
9633 variable12 = variable13;
9634 variable13 = variable5 /*nodearraylist4*/;
9635 variable14 = TAG_Bool(( variable13 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9636 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4807,6--44\n"); nit_exit(1);}
9637 variable15 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable13 /*tkwwritablenode8*/); /*new AWriteAble*/
9638 variable14 = variable15;
9639 variable15 = variable4 /*nodearraylist5*/;
9640 variable16 = TAG_Bool(( variable15 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9641 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4813,6--45\n"); nit_exit(1);}
9642 variable16 = variable3 /*nodearraylist6*/;
9643 variable17 = TAG_Bool(( variable16 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9644 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4815,6--37\n"); nit_exit(1);}
9645 variable17 = variable2 /*nodearraylist7*/;
9646 variable18 = TAG_Bool(( variable17 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9647 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4817,6--37\n"); nit_exit(1);}
9648 variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable12 /*pablenode3*/, variable14 /*pablenode6*/, NIT_NULL /*null*/, variable15 /*pvisibilitynode10*/, variable16 /*tkwattrnode11*/, variable17 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9649 variable18 = variable19;
9650 variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/;
9651 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9652 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
9653 tracehead = trace.prev;
9654 return;
9655 }
9656 void parser___ReduceAction93___init(val_t self, int* init_table) {
9657 struct trace_t trace = {NULL, "parser::ReduceAction93::init (src/parser//parser.nit:4832,1--4)"};
9658 trace.prev = tracehead; tracehead = &trace;
9659 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction93].i]) return;
9660 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction93].i] = 1;
9661 tracehead = trace.prev;
9662 return;
9663 }
9664 void parser___ReduceAction94___action(val_t self, val_t param0) {
9665 struct trace_t trace = {NULL, "parser::ReduceAction94::action (src/parser//parser.nit:4836,2--4883:34)"};
9666 val_t variable0;
9667 val_t variable1;
9668 val_t variable2;
9669 val_t variable3;
9670 val_t variable4;
9671 val_t variable5;
9672 val_t variable6;
9673 val_t variable7;
9674 val_t variable8;
9675 val_t variable9;
9676 val_t variable10;
9677 val_t variable11;
9678 val_t variable12;
9679 val_t variable13;
9680 val_t variable14;
9681 val_t variable15;
9682 val_t variable16;
9683 val_t variable17;
9684 val_t variable18;
9685 val_t variable19;
9686 val_t variable20;
9687 val_t variable21;
9688 trace.prev = tracehead; tracehead = &trace;
9689 variable0 = param0;
9690 variable1 = NIT_NULL /*null*/;
9691 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9692 variable2 = variable3;
9693 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9694 variable3 = variable4;
9695 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9696 variable4 = variable5;
9697 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9698 variable5 = variable6;
9699 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9700 variable6 = variable7;
9701 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9702 variable7 = variable8;
9703 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9704 variable8 = variable9;
9705 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9706 variable9 = variable10;
9707 variable10 = variable9 /*nodearraylist1*/;
9708 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9709 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4848,6--30\n"); nit_exit(1);}
9710 variable11 = variable8 /*nodearraylist2*/;
9711 variable12 = TAG_Bool(( variable11 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9712 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4850,6--38\n"); nit_exit(1);}
9713 variable12 = variable7 /*nodearraylist3*/;
9714 variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9715 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4852,6--44\n"); nit_exit(1);}
9716 variable14 = NEW_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/
9717 variable13 = variable14;
9718 variable14 = variable6 /*nodearraylist4*/;
9719 variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9720 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4858,6--38\n"); nit_exit(1);}
9721 variable15 = variable5 /*nodearraylist5*/;
9722 variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9723 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4860,6--44\n"); nit_exit(1);}
9724 variable17 = NEW_parser_prod___AWriteAble___init_awriteable( variable14 /*tkwredefnode7*/, variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
9725 variable16 = variable17;
9726 variable17 = variable4 /*nodearraylist6*/;
9727 variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9728 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4866,6--45\n"); nit_exit(1);}
9729 variable18 = variable3 /*nodearraylist7*/;
9730 variable19 = TAG_Bool(( variable18 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9731 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4868,6--37\n"); nit_exit(1);}
9732 variable19 = variable2 /*nodearraylist8*/;
9733 variable20 = TAG_Bool(( variable19 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9734 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4870,6--37\n"); nit_exit(1);}
9735 variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable13 /*pablenode3*/, variable16 /*pablenode6*/, NIT_NULL /*null*/, variable17 /*pvisibilitynode10*/, variable18 /*tkwattrnode11*/, variable19 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9736 variable20 = variable21;
9737 variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/;
9738 variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9739 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/;
9740 tracehead = trace.prev;
9741 return;
9742 }
9743 void parser___ReduceAction94___init(val_t self, int* init_table) {
9744 struct trace_t trace = {NULL, "parser::ReduceAction94::init (src/parser//parser.nit:4885,1--4)"};
9745 trace.prev = tracehead; tracehead = &trace;
9746 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction94].i]) return;
9747 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction94].i] = 1;
9748 tracehead = trace.prev;
9749 return;
9750 }
9751 void parser___ReduceAction95___action(val_t self, val_t param0) {
9752 struct trace_t trace = {NULL, "parser::ReduceAction95::action (src/parser//parser.nit:4889,2--4926:34)"};
9753 val_t variable0;
9754 val_t variable1;
9755 val_t variable2;
9756 val_t variable3;
9757 val_t variable4;
9758 val_t variable5;
9759 val_t variable6;
9760 val_t variable7;
9761 val_t variable8;
9762 val_t variable9;
9763 val_t variable10;
9764 val_t variable11;
9765 val_t variable12;
9766 val_t variable13;
9767 val_t variable14;
9768 val_t variable15;
9769 val_t variable16;
9770 trace.prev = tracehead; tracehead = &trace;
9771 variable0 = param0;
9772 variable1 = NIT_NULL /*null*/;
9773 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9774 variable2 = variable3;
9775 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9776 variable3 = variable4;
9777 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9778 variable4 = variable5;
9779 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9780 variable5 = variable6;
9781 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9782 variable6 = variable7;
9783 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9784 variable7 = variable8;
9785 variable8 = variable7 /*nodearraylist1*/;
9786 variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9787 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4899,6--30\n"); nit_exit(1);}
9788 variable9 = variable6 /*nodearraylist2*/;
9789 variable10 = TAG_Bool(( variable9 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable9 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9790 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4901,6--38\n"); nit_exit(1);}
9791 variable10 = variable5 /*nodearraylist3*/;
9792 variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
9793 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4903,6--44\n"); nit_exit(1);}
9794 variable12 = NEW_parser_prod___AReadAble___init_areadable( variable9 /*tkwredefnode4*/, variable10 /*tkwreadablenode5*/); /*new AReadAble*/
9795 variable11 = variable12;
9796 variable12 = variable4 /*nodearraylist4*/;
9797 variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9798 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4909,6--44\n"); nit_exit(1);}
9799 variable13 = variable3 /*nodearraylist5*/;
9800 variable14 = TAG_Bool(( variable13 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9801 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4911,6--36\n"); nit_exit(1);}
9802 variable14 = variable2 /*nodearraylist6*/;
9803 variable15 = TAG_Bool(( variable14 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9804 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4913,6--37\n"); nit_exit(1);}
9805 variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, variable11 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable12 /*pvisibilitynode8*/, variable13 /*tkwattrnode9*/, variable14 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9806 variable15 = variable16;
9807 variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/;
9808 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9809 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
9810 tracehead = trace.prev;
9811 return;
9812 }
9813 void parser___ReduceAction95___init(val_t self, int* init_table) {
9814 struct trace_t trace = {NULL, "parser::ReduceAction95::init (src/parser//parser.nit:4928,1--4)"};
9815 trace.prev = tracehead; tracehead = &trace;
9816 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction95].i]) return;
9817 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction95].i] = 1;
9818 tracehead = trace.prev;
9819 return;
9820 }
9821 void parser___ReduceAction96___action(val_t self, val_t param0) {
9822 struct trace_t trace = {NULL, "parser::ReduceAction96::action (src/parser//parser.nit:4932,2--4966:34)"};
9823 val_t variable0;
9824 val_t variable1;
9825 val_t variable2;
9826 val_t variable3;
9827 val_t variable4;
9828 val_t variable5;
9829 val_t variable6;
9830 val_t variable7;
9831 val_t variable8;
9832 val_t variable9;
9833 val_t variable10;
9834 val_t variable11;
9835 val_t variable12;
9836 val_t variable13;
9837 val_t variable14;
9838 trace.prev = tracehead; tracehead = &trace;
9839 variable0 = param0;
9840 variable1 = NIT_NULL /*null*/;
9841 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9842 variable2 = variable3;
9843 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9844 variable3 = variable4;
9845 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9846 variable4 = variable5;
9847 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9848 variable5 = variable6;
9849 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9850 variable6 = variable7;
9851 variable7 = variable6 /*nodearraylist1*/;
9852 variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9853 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4941,6--30\n"); nit_exit(1);}
9854 variable8 = variable5 /*nodearraylist2*/;
9855 variable9 = TAG_Bool(( variable8 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable8 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9856 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4943,6--44\n"); nit_exit(1);}
9857 variable10 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable8 /*tkwwritablenode6*/); /*new AWriteAble*/
9858 variable9 = variable10;
9859 variable10 = variable4 /*nodearraylist3*/;
9860 variable11 = TAG_Bool(( variable10 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9861 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4949,6--44\n"); nit_exit(1);}
9862 variable11 = variable3 /*nodearraylist4*/;
9863 variable12 = TAG_Bool(( variable11 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable11 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9864 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4951,6--36\n"); nit_exit(1);}
9865 variable12 = variable2 /*nodearraylist5*/;
9866 variable13 = TAG_Bool(( variable12 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable12 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9867 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4953,6--37\n"); nit_exit(1);}
9868 variable14 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/, NIT_NULL /*null*/, variable9 /*pablenode4*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode8*/, variable11 /*tkwattrnode9*/, variable12 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9869 variable13 = variable14;
9870 variable1 = variable13 /*ppropdefnode1*/ /*node_list=*/;
9871 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9872 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
9873 tracehead = trace.prev;
9874 return;
9875 }
9876 void parser___ReduceAction96___init(val_t self, int* init_table) {
9877 struct trace_t trace = {NULL, "parser::ReduceAction96::init (src/parser//parser.nit:4968,1--4)"};
9878 trace.prev = tracehead; tracehead = &trace;
9879 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction96].i]) return;
9880 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction96].i] = 1;
9881 tracehead = trace.prev;
9882 return;
9883 }
9884 void parser___ReduceAction97___action(val_t self, val_t param0) {
9885 struct trace_t trace = {NULL, "parser::ReduceAction97::action (src/parser//parser.nit:4972,2--5009:34)"};
9886 val_t variable0;
9887 val_t variable1;
9888 val_t variable2;
9889 val_t variable3;
9890 val_t variable4;
9891 val_t variable5;
9892 val_t variable6;
9893 val_t variable7;
9894 val_t variable8;
9895 val_t variable9;
9896 val_t variable10;
9897 val_t variable11;
9898 val_t variable12;
9899 val_t variable13;
9900 val_t variable14;
9901 val_t variable15;
9902 val_t variable16;
9903 trace.prev = tracehead; tracehead = &trace;
9904 variable0 = param0;
9905 variable1 = NIT_NULL /*null*/;
9906 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9907 variable2 = variable3;
9908 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9909 variable3 = variable4;
9910 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9911 variable4 = variable5;
9912 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9913 variable5 = variable6;
9914 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9915 variable6 = variable7;
9916 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9917 variable7 = variable8;
9918 variable8 = variable7 /*nodearraylist1*/;
9919 variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9920 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4982,6--30\n"); nit_exit(1);}
9921 variable9 = variable6 /*nodearraylist2*/;
9922 variable10 = TAG_Bool(( variable9 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9923 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4984,6--38\n"); nit_exit(1);}
9924 variable10 = variable5 /*nodearraylist3*/;
9925 variable11 = TAG_Bool(( variable10 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable10 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
9926 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4986,6--44\n"); nit_exit(1);}
9927 variable12 = NEW_parser_prod___AWriteAble___init_awriteable( variable9 /*tkwredefnode5*/, variable10 /*tkwwritablenode6*/); /*new AWriteAble*/
9928 variable11 = variable12;
9929 variable12 = variable4 /*nodearraylist4*/;
9930 variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9931 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4992,6--44\n"); nit_exit(1);}
9932 variable13 = variable3 /*nodearraylist5*/;
9933 variable14 = TAG_Bool(( variable13 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9934 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4994,6--36\n"); nit_exit(1);}
9935 variable14 = variable2 /*nodearraylist6*/;
9936 variable15 = TAG_Bool(( variable14 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9937 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4996,6--37\n"); nit_exit(1);}
9938 variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pablenode4*/, NIT_NULL /*null*/, variable12 /*pvisibilitynode8*/, variable13 /*tkwattrnode9*/, variable14 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9939 variable15 = variable16;
9940 variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/;
9941 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9942 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
9943 tracehead = trace.prev;
9944 return;
9945 }
9946 void parser___ReduceAction97___init(val_t self, int* init_table) {
9947 struct trace_t trace = {NULL, "parser::ReduceAction97::init (src/parser//parser.nit:5011,1--4)"};
9948 trace.prev = tracehead; tracehead = &trace;
9949 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction97].i]) return;
9950 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction97].i] = 1;
9951 tracehead = trace.prev;
9952 return;
9953 }
9954 void parser___ReduceAction98___action(val_t self, val_t param0) {
9955 struct trace_t trace = {NULL, "parser::ReduceAction98::action (src/parser//parser.nit:5015,2--5042:34)"};
9956 val_t variable0;
9957 val_t variable1;
9958 val_t variable2;
9959 val_t variable3;
9960 val_t variable4;
9961 val_t variable5;
9962 val_t variable6;
9963 val_t variable7;
9964 val_t variable8;
9965 val_t variable9;
9966 val_t variable10;
9967 val_t variable11;
9968 trace.prev = tracehead; tracehead = &trace;
9969 variable0 = param0;
9970 variable1 = NIT_NULL /*null*/;
9971 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9972 variable2 = variable3;
9973 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9974 variable3 = variable4;
9975 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9976 variable4 = variable5;
9977 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
9978 variable5 = variable6;
9979 variable6 = variable5 /*nodearraylist1*/;
9980 variable7 = TAG_Bool(( variable6 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9981 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5023,6--30\n"); nit_exit(1);}
9982 variable7 = variable4 /*nodearraylist2*/;
9983 variable8 = TAG_Bool(( variable7 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable7 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9984 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5025,6--44\n"); nit_exit(1);}
9985 variable8 = variable3 /*nodearraylist3*/;
9986 variable9 = TAG_Bool(( variable8 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable8 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
9987 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5027,6--36\n"); nit_exit(1);}
9988 variable9 = variable2 /*nodearraylist4*/;
9989 variable10 = TAG_Bool(( variable9 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable9 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
9990 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5029,6--36\n"); nit_exit(1);}
9991 variable11 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable6 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable7 /*pvisibilitynode6*/, variable8 /*tkwattrnode7*/, variable9 /*tattridnode8*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
9992 variable10 = variable11;
9993 variable1 = variable10 /*ppropdefnode1*/ /*node_list=*/;
9994 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
9995 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
9996 tracehead = trace.prev;
9997 return;
9998 }
9999 void parser___ReduceAction98___init(val_t self, int* init_table) {
10000 struct trace_t trace = {NULL, "parser::ReduceAction98::init (src/parser//parser.nit:5044,1--4)"};
10001 trace.prev = tracehead; tracehead = &trace;
10002 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction98].i]) return;
10003 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction98].i] = 1;
10004 tracehead = trace.prev;
10005 return;
10006 }
10007 void parser___ReduceAction99___action(val_t self, val_t param0) {
10008 struct trace_t trace = {NULL, "parser::ReduceAction99::action (src/parser//parser.nit:5048,2--5092:34)"};
10009 val_t variable0;
10010 val_t variable1;
10011 val_t variable2;
10012 val_t variable3;
10013 val_t variable4;
10014 val_t variable5;
10015 val_t variable6;
10016 val_t variable7;
10017 val_t variable8;
10018 val_t variable9;
10019 val_t variable10;
10020 val_t variable11;
10021 val_t variable12;
10022 val_t variable13;
10023 val_t variable14;
10024 val_t variable15;
10025 val_t variable16;
10026 val_t variable17;
10027 val_t variable18;
10028 val_t variable19;
10029 trace.prev = tracehead; tracehead = &trace;
10030 variable0 = param0;
10031 variable1 = NIT_NULL /*null*/;
10032 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10033 variable2 = variable3;
10034 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10035 variable3 = variable4;
10036 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10037 variable4 = variable5;
10038 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10039 variable5 = variable6;
10040 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10041 variable6 = variable7;
10042 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10043 variable7 = variable8;
10044 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10045 variable8 = variable9;
10046 variable9 = variable8 /*nodearraylist1*/;
10047 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10048 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5059,6--30\n"); nit_exit(1);}
10049 variable10 = variable7 /*nodearraylist2*/;
10050 variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10051 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5061,6--44\n"); nit_exit(1);}
10052 variable12 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable10 /*tkwreadablenode5*/); /*new AReadAble*/
10053 variable11 = variable12;
10054 variable12 = variable6 /*nodearraylist3*/;
10055 variable13 = TAG_Bool(( variable12 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10056 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5067,6--44\n"); nit_exit(1);}
10057 variable14 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable12 /*tkwwritablenode8*/); /*new AWriteAble*/
10058 variable13 = variable14;
10059 variable14 = variable5 /*nodearraylist4*/;
10060 variable15 = TAG_Bool(( variable14 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10061 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5073,6--38\n"); nit_exit(1);}
10062 variable15 = variable4 /*nodearraylist5*/;
10063 variable16 = TAG_Bool(( variable15 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10064 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5075,6--45\n"); nit_exit(1);}
10065 variable16 = variable3 /*nodearraylist6*/;
10066 variable17 = TAG_Bool(( variable16 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10067 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5077,6--37\n"); nit_exit(1);}
10068 variable17 = variable2 /*nodearraylist7*/;
10069 variable18 = TAG_Bool(( variable17 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10070 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5079,6--37\n"); nit_exit(1);}
10071 variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable11 /*pablenode3*/, variable13 /*pablenode6*/, variable14 /*tkwredefnode9*/, variable15 /*pvisibilitynode10*/, variable16 /*tkwattrnode11*/, variable17 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10072 variable18 = variable19;
10073 variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/;
10074 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10075 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
10076 tracehead = trace.prev;
10077 return;
10078 }
10079 void parser___ReduceAction99___init(val_t self, int* init_table) {
10080 struct trace_t trace = {NULL, "parser::ReduceAction99::init (src/parser//parser.nit:5094,1--4)"};
10081 trace.prev = tracehead; tracehead = &trace;
10082 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction99].i]) return;
10083 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction99].i] = 1;
10084 tracehead = trace.prev;
10085 return;
10086 }
10087 void parser___ReduceAction100___action(val_t self, val_t param0) {
10088 struct trace_t trace = {NULL, "parser::ReduceAction100::action (src/parser//parser.nit:5098,2--5145:34)"};
10089 val_t variable0;
10090 val_t variable1;
10091 val_t variable2;
10092 val_t variable3;
10093 val_t variable4;
10094 val_t variable5;
10095 val_t variable6;
10096 val_t variable7;
10097 val_t variable8;
10098 val_t variable9;
10099 val_t variable10;
10100 val_t variable11;
10101 val_t variable12;
10102 val_t variable13;
10103 val_t variable14;
10104 val_t variable15;
10105 val_t variable16;
10106 val_t variable17;
10107 val_t variable18;
10108 val_t variable19;
10109 val_t variable20;
10110 val_t variable21;
10111 trace.prev = tracehead; tracehead = &trace;
10112 variable0 = param0;
10113 variable1 = NIT_NULL /*null*/;
10114 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10115 variable2 = variable3;
10116 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10117 variable3 = variable4;
10118 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10119 variable4 = variable5;
10120 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10121 variable5 = variable6;
10122 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10123 variable6 = variable7;
10124 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10125 variable7 = variable8;
10126 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10127 variable8 = variable9;
10128 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10129 variable9 = variable10;
10130 variable10 = variable9 /*nodearraylist1*/;
10131 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10132 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5110,6--30\n"); nit_exit(1);}
10133 variable11 = variable8 /*nodearraylist2*/;
10134 variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10135 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5112,6--44\n"); nit_exit(1);}
10136 variable13 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/
10137 variable12 = variable13;
10138 variable13 = variable7 /*nodearraylist3*/;
10139 variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10140 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5118,6--38\n"); nit_exit(1);}
10141 variable14 = variable6 /*nodearraylist4*/;
10142 variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10143 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5120,6--44\n"); nit_exit(1);}
10144 variable16 = NEW_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode7*/, variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
10145 variable15 = variable16;
10146 variable16 = variable5 /*nodearraylist5*/;
10147 variable17 = TAG_Bool(( variable16 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10148 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5126,6--38\n"); nit_exit(1);}
10149 variable17 = variable4 /*nodearraylist6*/;
10150 variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10151 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5128,6--45\n"); nit_exit(1);}
10152 variable18 = variable3 /*nodearraylist7*/;
10153 variable19 = TAG_Bool(( variable18 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10154 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5130,6--37\n"); nit_exit(1);}
10155 variable19 = variable2 /*nodearraylist8*/;
10156 variable20 = TAG_Bool(( variable19 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10157 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5132,6--37\n"); nit_exit(1);}
10158 variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable12 /*pablenode3*/, variable15 /*pablenode6*/, variable16 /*tkwredefnode9*/, variable17 /*pvisibilitynode10*/, variable18 /*tkwattrnode11*/, variable19 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10159 variable20 = variable21;
10160 variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/;
10161 variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10162 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/;
10163 tracehead = trace.prev;
10164 return;
10165 }
10166 void parser___ReduceAction100___init(val_t self, int* init_table) {
10167 struct trace_t trace = {NULL, "parser::ReduceAction100::init (src/parser//parser.nit:5147,1--4)"};
10168 trace.prev = tracehead; tracehead = &trace;
10169 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction100].i]) return;
10170 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction100].i] = 1;
10171 tracehead = trace.prev;
10172 return;
10173 }
10174 void parser___ReduceAction101___action(val_t self, val_t param0) {
10175 struct trace_t trace = {NULL, "parser::ReduceAction101::action (src/parser//parser.nit:5151,2--5188:34)"};
10176 val_t variable0;
10177 val_t variable1;
10178 val_t variable2;
10179 val_t variable3;
10180 val_t variable4;
10181 val_t variable5;
10182 val_t variable6;
10183 val_t variable7;
10184 val_t variable8;
10185 val_t variable9;
10186 val_t variable10;
10187 val_t variable11;
10188 val_t variable12;
10189 val_t variable13;
10190 val_t variable14;
10191 val_t variable15;
10192 val_t variable16;
10193 trace.prev = tracehead; tracehead = &trace;
10194 variable0 = param0;
10195 variable1 = NIT_NULL /*null*/;
10196 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10197 variable2 = variable3;
10198 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10199 variable3 = variable4;
10200 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10201 variable4 = variable5;
10202 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10203 variable5 = variable6;
10204 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10205 variable6 = variable7;
10206 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10207 variable7 = variable8;
10208 variable8 = variable7 /*nodearraylist1*/;
10209 variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10210 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5161,6--30\n"); nit_exit(1);}
10211 variable9 = variable6 /*nodearraylist2*/;
10212 variable10 = TAG_Bool(( variable9 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10213 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5163,6--44\n"); nit_exit(1);}
10214 variable11 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable9 /*tkwreadablenode5*/); /*new AReadAble*/
10215 variable10 = variable11;
10216 variable11 = variable5 /*nodearraylist3*/;
10217 variable12 = TAG_Bool(( variable11 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10218 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5169,6--38\n"); nit_exit(1);}
10219 variable12 = variable4 /*nodearraylist4*/;
10220 variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10221 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5171,6--44\n"); nit_exit(1);}
10222 variable13 = variable3 /*nodearraylist5*/;
10223 variable14 = TAG_Bool(( variable13 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10224 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5173,6--36\n"); nit_exit(1);}
10225 variable14 = variable2 /*nodearraylist6*/;
10226 variable15 = TAG_Bool(( variable14 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10227 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5175,6--37\n"); nit_exit(1);}
10228 variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, variable10 /*pablenode3*/, NIT_NULL /*null*/, variable11 /*tkwredefnode7*/, variable12 /*pvisibilitynode8*/, variable13 /*tkwattrnode9*/, variable14 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10229 variable15 = variable16;
10230 variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/;
10231 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10232 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
10233 tracehead = trace.prev;
10234 return;
10235 }
10236 void parser___ReduceAction101___init(val_t self, int* init_table) {
10237 struct trace_t trace = {NULL, "parser::ReduceAction101::init (src/parser//parser.nit:5190,1--4)"};
10238 trace.prev = tracehead; tracehead = &trace;
10239 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction101].i]) return;
10240 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction101].i] = 1;
10241 tracehead = trace.prev;
10242 return;
10243 }
10244 void parser___ReduceAction102___action(val_t self, val_t param0) {
10245 struct trace_t trace = {NULL, "parser::ReduceAction102::action (src/parser//parser.nit:5194,2--5241:34)"};
10246 val_t variable0;
10247 val_t variable1;
10248 val_t variable2;
10249 val_t variable3;
10250 val_t variable4;
10251 val_t variable5;
10252 val_t variable6;
10253 val_t variable7;
10254 val_t variable8;
10255 val_t variable9;
10256 val_t variable10;
10257 val_t variable11;
10258 val_t variable12;
10259 val_t variable13;
10260 val_t variable14;
10261 val_t variable15;
10262 val_t variable16;
10263 val_t variable17;
10264 val_t variable18;
10265 val_t variable19;
10266 val_t variable20;
10267 val_t variable21;
10268 trace.prev = tracehead; tracehead = &trace;
10269 variable0 = param0;
10270 variable1 = NIT_NULL /*null*/;
10271 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10272 variable2 = variable3;
10273 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10274 variable3 = variable4;
10275 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10276 variable4 = variable5;
10277 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10278 variable5 = variable6;
10279 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10280 variable6 = variable7;
10281 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10282 variable7 = variable8;
10283 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10284 variable8 = variable9;
10285 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10286 variable9 = variable10;
10287 variable10 = variable9 /*nodearraylist1*/;
10288 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10289 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5206,6--30\n"); nit_exit(1);}
10290 variable11 = variable8 /*nodearraylist2*/;
10291 variable12 = TAG_Bool(( variable11 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10292 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5208,6--38\n"); nit_exit(1);}
10293 variable12 = variable7 /*nodearraylist3*/;
10294 variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10295 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5210,6--44\n"); nit_exit(1);}
10296 variable14 = NEW_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/
10297 variable13 = variable14;
10298 variable14 = variable6 /*nodearraylist4*/;
10299 variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10300 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5216,6--44\n"); nit_exit(1);}
10301 variable16 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
10302 variable15 = variable16;
10303 variable16 = variable5 /*nodearraylist5*/;
10304 variable17 = TAG_Bool(( variable16 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10305 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5222,6--38\n"); nit_exit(1);}
10306 variable17 = variable4 /*nodearraylist6*/;
10307 variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10308 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5224,6--45\n"); nit_exit(1);}
10309 variable18 = variable3 /*nodearraylist7*/;
10310 variable19 = TAG_Bool(( variable18 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10311 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5226,6--37\n"); nit_exit(1);}
10312 variable19 = variable2 /*nodearraylist8*/;
10313 variable20 = TAG_Bool(( variable19 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10314 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5228,6--37\n"); nit_exit(1);}
10315 variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable13 /*pablenode3*/, variable15 /*pablenode6*/, variable16 /*tkwredefnode9*/, variable17 /*pvisibilitynode10*/, variable18 /*tkwattrnode11*/, variable19 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10316 variable20 = variable21;
10317 variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/;
10318 variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10319 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/;
10320 tracehead = trace.prev;
10321 return;
10322 }
10323 void parser___ReduceAction102___init(val_t self, int* init_table) {
10324 struct trace_t trace = {NULL, "parser::ReduceAction102::init (src/parser//parser.nit:5243,1--4)"};
10325 trace.prev = tracehead; tracehead = &trace;
10326 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction102].i]) return;
10327 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction102].i] = 1;
10328 tracehead = trace.prev;
10329 return;
10330 }
10331 void parser___ReduceAction103___action(val_t self, val_t param0) {
10332 struct trace_t trace = {NULL, "parser::ReduceAction103::action (src/parser//parser.nit:5247,2--5297:34)"};
10333 val_t variable0;
10334 val_t variable1;
10335 val_t variable2;
10336 val_t variable3;
10337 val_t variable4;
10338 val_t variable5;
10339 val_t variable6;
10340 val_t variable7;
10341 val_t variable8;
10342 val_t variable9;
10343 val_t variable10;
10344 val_t variable11;
10345 val_t variable12;
10346 val_t variable13;
10347 val_t variable14;
10348 val_t variable15;
10349 val_t variable16;
10350 val_t variable17;
10351 val_t variable18;
10352 val_t variable19;
10353 val_t variable20;
10354 val_t variable21;
10355 val_t variable22;
10356 val_t variable23;
10357 trace.prev = tracehead; tracehead = &trace;
10358 variable0 = param0;
10359 variable1 = NIT_NULL /*null*/;
10360 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10361 variable2 = variable3;
10362 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10363 variable3 = variable4;
10364 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10365 variable4 = variable5;
10366 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10367 variable5 = variable6;
10368 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10369 variable6 = variable7;
10370 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10371 variable7 = variable8;
10372 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10373 variable8 = variable9;
10374 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10375 variable9 = variable10;
10376 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10377 variable10 = variable11;
10378 variable11 = variable10 /*nodearraylist1*/;
10379 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10380 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5260,6--30\n"); nit_exit(1);}
10381 variable12 = variable9 /*nodearraylist2*/;
10382 variable13 = TAG_Bool(( variable12 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10383 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5262,6--38\n"); nit_exit(1);}
10384 variable13 = variable8 /*nodearraylist3*/;
10385 variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10386 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5264,6--44\n"); nit_exit(1);}
10387 variable15 = NEW_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/
10388 variable14 = variable15;
10389 variable15 = variable7 /*nodearraylist4*/;
10390 variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10391 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5270,6--38\n"); nit_exit(1);}
10392 variable16 = variable6 /*nodearraylist5*/;
10393 variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10394 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5272,6--44\n"); nit_exit(1);}
10395 variable18 = NEW_parser_prod___AWriteAble___init_awriteable( variable15 /*tkwredefnode7*/, variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
10396 variable17 = variable18;
10397 variable18 = variable5 /*nodearraylist6*/;
10398 variable19 = TAG_Bool(( variable18 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10399 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5278,6--38\n"); nit_exit(1);}
10400 variable19 = variable4 /*nodearraylist7*/;
10401 variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10402 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5280,6--45\n"); nit_exit(1);}
10403 variable20 = variable3 /*nodearraylist8*/;
10404 variable21 = TAG_Bool(( variable20 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable20 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10405 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5282,6--37\n"); nit_exit(1);}
10406 variable21 = variable2 /*nodearraylist9*/;
10407 variable22 = TAG_Bool(( variable21 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable21 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10408 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5284,6--37\n"); nit_exit(1);}
10409 variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable14 /*pablenode3*/, variable17 /*pablenode6*/, variable18 /*tkwredefnode9*/, variable19 /*pvisibilitynode10*/, variable20 /*tkwattrnode11*/, variable21 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10410 variable22 = variable23;
10411 variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/;
10412 variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10413 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/;
10414 tracehead = trace.prev;
10415 return;
10416 }
10417 void parser___ReduceAction103___init(val_t self, int* init_table) {
10418 struct trace_t trace = {NULL, "parser::ReduceAction103::init (src/parser//parser.nit:5299,1--4)"};
10419 trace.prev = tracehead; tracehead = &trace;
10420 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction103].i]) return;
10421 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction103].i] = 1;
10422 tracehead = trace.prev;
10423 return;
10424 }
10425 void parser___ReduceAction104___action(val_t self, val_t param0) {
10426 struct trace_t trace = {NULL, "parser::ReduceAction104::action (src/parser//parser.nit:5303,2--5343:34)"};
10427 val_t variable0;
10428 val_t variable1;
10429 val_t variable2;
10430 val_t variable3;
10431 val_t variable4;
10432 val_t variable5;
10433 val_t variable6;
10434 val_t variable7;
10435 val_t variable8;
10436 val_t variable9;
10437 val_t variable10;
10438 val_t variable11;
10439 val_t variable12;
10440 val_t variable13;
10441 val_t variable14;
10442 val_t variable15;
10443 val_t variable16;
10444 val_t variable17;
10445 val_t variable18;
10446 trace.prev = tracehead; tracehead = &trace;
10447 variable0 = param0;
10448 variable1 = NIT_NULL /*null*/;
10449 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10450 variable2 = variable3;
10451 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10452 variable3 = variable4;
10453 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10454 variable4 = variable5;
10455 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10456 variable5 = variable6;
10457 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10458 variable6 = variable7;
10459 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10460 variable7 = variable8;
10461 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10462 variable8 = variable9;
10463 variable9 = variable8 /*nodearraylist1*/;
10464 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10465 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5314,6--30\n"); nit_exit(1);}
10466 variable10 = variable7 /*nodearraylist2*/;
10467 variable11 = TAG_Bool(( variable10 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10468 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5316,6--38\n"); nit_exit(1);}
10469 variable11 = variable6 /*nodearraylist3*/;
10470 variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10471 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5318,6--44\n"); nit_exit(1);}
10472 variable13 = NEW_parser_prod___AReadAble___init_areadable( variable10 /*tkwredefnode4*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/
10473 variable12 = variable13;
10474 variable13 = variable5 /*nodearraylist4*/;
10475 variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10476 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5324,6--38\n"); nit_exit(1);}
10477 variable14 = variable4 /*nodearraylist5*/;
10478 variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10479 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5326,6--44\n"); nit_exit(1);}
10480 variable15 = variable3 /*nodearraylist6*/;
10481 variable16 = TAG_Bool(( variable15 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10482 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5328,6--36\n"); nit_exit(1);}
10483 variable16 = variable2 /*nodearraylist7*/;
10484 variable17 = TAG_Bool(( variable16 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10485 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5330,6--37\n"); nit_exit(1);}
10486 variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable12 /*pablenode3*/, NIT_NULL /*null*/, variable13 /*tkwredefnode7*/, variable14 /*pvisibilitynode8*/, variable15 /*tkwattrnode9*/, variable16 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10487 variable17 = variable18;
10488 variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/;
10489 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10490 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
10491 tracehead = trace.prev;
10492 return;
10493 }
10494 void parser___ReduceAction104___init(val_t self, int* init_table) {
10495 struct trace_t trace = {NULL, "parser::ReduceAction104::init (src/parser//parser.nit:5345,1--4)"};
10496 trace.prev = tracehead; tracehead = &trace;
10497 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction104].i]) return;
10498 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction104].i] = 1;
10499 tracehead = trace.prev;
10500 return;
10501 }
10502 void parser___ReduceAction105___action(val_t self, val_t param0) {
10503 struct trace_t trace = {NULL, "parser::ReduceAction105::action (src/parser//parser.nit:5349,2--5386:34)"};
10504 val_t variable0;
10505 val_t variable1;
10506 val_t variable2;
10507 val_t variable3;
10508 val_t variable4;
10509 val_t variable5;
10510 val_t variable6;
10511 val_t variable7;
10512 val_t variable8;
10513 val_t variable9;
10514 val_t variable10;
10515 val_t variable11;
10516 val_t variable12;
10517 val_t variable13;
10518 val_t variable14;
10519 val_t variable15;
10520 val_t variable16;
10521 trace.prev = tracehead; tracehead = &trace;
10522 variable0 = param0;
10523 variable1 = NIT_NULL /*null*/;
10524 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10525 variable2 = variable3;
10526 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10527 variable3 = variable4;
10528 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10529 variable4 = variable5;
10530 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10531 variable5 = variable6;
10532 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10533 variable6 = variable7;
10534 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10535 variable7 = variable8;
10536 variable8 = variable7 /*nodearraylist1*/;
10537 variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10538 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5359,6--30\n"); nit_exit(1);}
10539 variable9 = variable6 /*nodearraylist2*/;
10540 variable10 = TAG_Bool(( variable9 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable9 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10541 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5361,6--44\n"); nit_exit(1);}
10542 variable11 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable9 /*tkwwritablenode6*/); /*new AWriteAble*/
10543 variable10 = variable11;
10544 variable11 = variable5 /*nodearraylist3*/;
10545 variable12 = TAG_Bool(( variable11 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10546 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5367,6--38\n"); nit_exit(1);}
10547 variable12 = variable4 /*nodearraylist4*/;
10548 variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10549 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5369,6--44\n"); nit_exit(1);}
10550 variable13 = variable3 /*nodearraylist5*/;
10551 variable14 = TAG_Bool(( variable13 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10552 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5371,6--36\n"); nit_exit(1);}
10553 variable14 = variable2 /*nodearraylist6*/;
10554 variable15 = TAG_Bool(( variable14 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10555 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5373,6--37\n"); nit_exit(1);}
10556 variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pablenode4*/, variable11 /*tkwredefnode7*/, variable12 /*pvisibilitynode8*/, variable13 /*tkwattrnode9*/, variable14 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10557 variable15 = variable16;
10558 variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/;
10559 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10560 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
10561 tracehead = trace.prev;
10562 return;
10563 }
10564 void parser___ReduceAction105___init(val_t self, int* init_table) {
10565 struct trace_t trace = {NULL, "parser::ReduceAction105::init (src/parser//parser.nit:5388,1--4)"};
10566 trace.prev = tracehead; tracehead = &trace;
10567 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction105].i]) return;
10568 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction105].i] = 1;
10569 tracehead = trace.prev;
10570 return;
10571 }
10572 void parser___ReduceAction106___action(val_t self, val_t param0) {
10573 struct trace_t trace = {NULL, "parser::ReduceAction106::action (src/parser//parser.nit:5392,2--5432:34)"};
10574 val_t variable0;
10575 val_t variable1;
10576 val_t variable2;
10577 val_t variable3;
10578 val_t variable4;
10579 val_t variable5;
10580 val_t variable6;
10581 val_t variable7;
10582 val_t variable8;
10583 val_t variable9;
10584 val_t variable10;
10585 val_t variable11;
10586 val_t variable12;
10587 val_t variable13;
10588 val_t variable14;
10589 val_t variable15;
10590 val_t variable16;
10591 val_t variable17;
10592 val_t variable18;
10593 trace.prev = tracehead; tracehead = &trace;
10594 variable0 = param0;
10595 variable1 = NIT_NULL /*null*/;
10596 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10597 variable2 = variable3;
10598 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10599 variable3 = variable4;
10600 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10601 variable4 = variable5;
10602 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10603 variable5 = variable6;
10604 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10605 variable6 = variable7;
10606 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10607 variable7 = variable8;
10608 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10609 variable8 = variable9;
10610 variable9 = variable8 /*nodearraylist1*/;
10611 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10612 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5403,6--30\n"); nit_exit(1);}
10613 variable10 = variable7 /*nodearraylist2*/;
10614 variable11 = TAG_Bool(( variable10 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10615 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5405,6--38\n"); nit_exit(1);}
10616 variable11 = variable6 /*nodearraylist3*/;
10617 variable12 = TAG_Bool(( variable11 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable11 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10618 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5407,6--44\n"); nit_exit(1);}
10619 variable13 = NEW_parser_prod___AWriteAble___init_awriteable( variable10 /*tkwredefnode5*/, variable11 /*tkwwritablenode6*/); /*new AWriteAble*/
10620 variable12 = variable13;
10621 variable13 = variable5 /*nodearraylist4*/;
10622 variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10623 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5413,6--38\n"); nit_exit(1);}
10624 variable14 = variable4 /*nodearraylist5*/;
10625 variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10626 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5415,6--44\n"); nit_exit(1);}
10627 variable15 = variable3 /*nodearraylist6*/;
10628 variable16 = TAG_Bool(( variable15 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10629 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5417,6--36\n"); nit_exit(1);}
10630 variable16 = variable2 /*nodearraylist7*/;
10631 variable17 = TAG_Bool(( variable16 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10632 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5419,6--37\n"); nit_exit(1);}
10633 variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable12 /*pablenode4*/, variable13 /*tkwredefnode7*/, variable14 /*pvisibilitynode8*/, variable15 /*tkwattrnode9*/, variable16 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10634 variable17 = variable18;
10635 variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/;
10636 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10637 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
10638 tracehead = trace.prev;
10639 return;
10640 }
10641 void parser___ReduceAction106___init(val_t self, int* init_table) {
10642 struct trace_t trace = {NULL, "parser::ReduceAction106::init (src/parser//parser.nit:5434,1--4)"};
10643 trace.prev = tracehead; tracehead = &trace;
10644 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction106].i]) return;
10645 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction106].i] = 1;
10646 tracehead = trace.prev;
10647 return;
10648 }
10649 void parser___ReduceAction107___action(val_t self, val_t param0) {
10650 struct trace_t trace = {NULL, "parser::ReduceAction107::action (src/parser//parser.nit:5438,2--5468:34)"};
10651 val_t variable0;
10652 val_t variable1;
10653 val_t variable2;
10654 val_t variable3;
10655 val_t variable4;
10656 val_t variable5;
10657 val_t variable6;
10658 val_t variable7;
10659 val_t variable8;
10660 val_t variable9;
10661 val_t variable10;
10662 val_t variable11;
10663 val_t variable12;
10664 val_t variable13;
10665 trace.prev = tracehead; tracehead = &trace;
10666 variable0 = param0;
10667 variable1 = NIT_NULL /*null*/;
10668 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10669 variable2 = variable3;
10670 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10671 variable3 = variable4;
10672 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10673 variable4 = variable5;
10674 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10675 variable5 = variable6;
10676 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10677 variable6 = variable7;
10678 variable7 = variable6 /*nodearraylist1*/;
10679 variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10680 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5447,6--30\n"); nit_exit(1);}
10681 variable8 = variable5 /*nodearraylist2*/;
10682 variable9 = TAG_Bool(( variable8 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable8 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10683 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5449,6--38\n"); nit_exit(1);}
10684 variable9 = variable4 /*nodearraylist3*/;
10685 variable10 = TAG_Bool(( variable9 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable9 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10686 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5451,6--44\n"); nit_exit(1);}
10687 variable10 = variable3 /*nodearraylist4*/;
10688 variable11 = TAG_Bool(( variable10 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable10 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10689 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5453,6--36\n"); nit_exit(1);}
10690 variable11 = variable2 /*nodearraylist5*/;
10691 variable12 = TAG_Bool(( variable11 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable11 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10692 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5455,6--36\n"); nit_exit(1);}
10693 variable13 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable8 /*tkwredefnode5*/, variable9 /*pvisibilitynode6*/, variable10 /*tkwattrnode7*/, variable11 /*tattridnode8*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10694 variable12 = variable13;
10695 variable1 = variable12 /*ppropdefnode1*/ /*node_list=*/;
10696 variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10697 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/;
10698 tracehead = trace.prev;
10699 return;
10700 }
10701 void parser___ReduceAction107___init(val_t self, int* init_table) {
10702 struct trace_t trace = {NULL, "parser::ReduceAction107::init (src/parser//parser.nit:5470,1--4)"};
10703 trace.prev = tracehead; tracehead = &trace;
10704 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction107].i]) return;
10705 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction107].i] = 1;
10706 tracehead = trace.prev;
10707 return;
10708 }
10709 void parser___ReduceAction108___action(val_t self, val_t param0) {
10710 struct trace_t trace = {NULL, "parser::ReduceAction108::action (src/parser//parser.nit:5474,2--5518:34)"};
10711 val_t variable0;
10712 val_t variable1;
10713 val_t variable2;
10714 val_t variable3;
10715 val_t variable4;
10716 val_t variable5;
10717 val_t variable6;
10718 val_t variable7;
10719 val_t variable8;
10720 val_t variable9;
10721 val_t variable10;
10722 val_t variable11;
10723 val_t variable12;
10724 val_t variable13;
10725 val_t variable14;
10726 val_t variable15;
10727 val_t variable16;
10728 val_t variable17;
10729 val_t variable18;
10730 val_t variable19;
10731 trace.prev = tracehead; tracehead = &trace;
10732 variable0 = param0;
10733 variable1 = NIT_NULL /*null*/;
10734 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10735 variable2 = variable3;
10736 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10737 variable3 = variable4;
10738 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10739 variable4 = variable5;
10740 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10741 variable5 = variable6;
10742 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10743 variable6 = variable7;
10744 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10745 variable7 = variable8;
10746 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10747 variable8 = variable9;
10748 variable9 = variable8 /*nodearraylist1*/;
10749 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10750 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5485,6--30\n"); nit_exit(1);}
10751 variable10 = variable7 /*nodearraylist2*/;
10752 variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10753 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5487,6--44\n"); nit_exit(1);}
10754 variable12 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable10 /*tkwreadablenode5*/); /*new AReadAble*/
10755 variable11 = variable12;
10756 variable12 = variable6 /*nodearraylist3*/;
10757 variable13 = TAG_Bool(( variable12 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10758 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5493,6--44\n"); nit_exit(1);}
10759 variable14 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable12 /*tkwwritablenode8*/); /*new AWriteAble*/
10760 variable13 = variable14;
10761 variable14 = variable5 /*nodearraylist4*/;
10762 variable15 = TAG_Bool(( variable14 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10763 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5499,6--45\n"); nit_exit(1);}
10764 variable15 = variable4 /*nodearraylist5*/;
10765 variable16 = TAG_Bool(( variable15 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10766 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5501,6--37\n"); nit_exit(1);}
10767 variable16 = variable3 /*nodearraylist6*/;
10768 variable17 = TAG_Bool(( variable16 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10769 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5503,6--37\n"); nit_exit(1);}
10770 variable17 = variable2 /*nodearraylist7*/;
10771 variable18 = TAG_Bool(( variable17 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable17 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10772 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5505,6--33\n"); nit_exit(1);}
10773 variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable11 /*pablenode3*/, variable13 /*pablenode6*/, NIT_NULL /*null*/, variable14 /*pvisibilitynode10*/, variable15 /*tkwattrnode11*/, variable16 /*tattridnode12*/, variable17 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10774 variable18 = variable19;
10775 variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/;
10776 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10777 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
10778 tracehead = trace.prev;
10779 return;
10780 }
10781 void parser___ReduceAction108___init(val_t self, int* init_table) {
10782 struct trace_t trace = {NULL, "parser::ReduceAction108::init (src/parser//parser.nit:5520,1--4)"};
10783 trace.prev = tracehead; tracehead = &trace;
10784 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction108].i]) return;
10785 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction108].i] = 1;
10786 tracehead = trace.prev;
10787 return;
10788 }
10789 void parser___ReduceAction109___action(val_t self, val_t param0) {
10790 struct trace_t trace = {NULL, "parser::ReduceAction109::action (src/parser//parser.nit:5524,2--5571:34)"};
10791 val_t variable0;
10792 val_t variable1;
10793 val_t variable2;
10794 val_t variable3;
10795 val_t variable4;
10796 val_t variable5;
10797 val_t variable6;
10798 val_t variable7;
10799 val_t variable8;
10800 val_t variable9;
10801 val_t variable10;
10802 val_t variable11;
10803 val_t variable12;
10804 val_t variable13;
10805 val_t variable14;
10806 val_t variable15;
10807 val_t variable16;
10808 val_t variable17;
10809 val_t variable18;
10810 val_t variable19;
10811 val_t variable20;
10812 val_t variable21;
10813 trace.prev = tracehead; tracehead = &trace;
10814 variable0 = param0;
10815 variable1 = NIT_NULL /*null*/;
10816 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10817 variable2 = variable3;
10818 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10819 variable3 = variable4;
10820 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10821 variable4 = variable5;
10822 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10823 variable5 = variable6;
10824 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10825 variable6 = variable7;
10826 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10827 variable7 = variable8;
10828 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10829 variable8 = variable9;
10830 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10831 variable9 = variable10;
10832 variable10 = variable9 /*nodearraylist1*/;
10833 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10834 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5536,6--30\n"); nit_exit(1);}
10835 variable11 = variable8 /*nodearraylist2*/;
10836 variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10837 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5538,6--44\n"); nit_exit(1);}
10838 variable13 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/
10839 variable12 = variable13;
10840 variable13 = variable7 /*nodearraylist3*/;
10841 variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10842 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5544,6--38\n"); nit_exit(1);}
10843 variable14 = variable6 /*nodearraylist4*/;
10844 variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
10845 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5546,6--44\n"); nit_exit(1);}
10846 variable16 = NEW_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode7*/, variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
10847 variable15 = variable16;
10848 variable16 = variable5 /*nodearraylist5*/;
10849 variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10850 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5552,6--45\n"); nit_exit(1);}
10851 variable17 = variable4 /*nodearraylist6*/;
10852 variable18 = TAG_Bool(( variable17 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10853 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5554,6--37\n"); nit_exit(1);}
10854 variable18 = variable3 /*nodearraylist7*/;
10855 variable19 = TAG_Bool(( variable18 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10856 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5556,6--37\n"); nit_exit(1);}
10857 variable19 = variable2 /*nodearraylist8*/;
10858 variable20 = TAG_Bool(( variable19 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
10859 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5558,6--33\n"); nit_exit(1);}
10860 variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable12 /*pablenode3*/, variable15 /*pablenode6*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode10*/, variable17 /*tkwattrnode11*/, variable18 /*tattridnode12*/, variable19 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10861 variable20 = variable21;
10862 variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/;
10863 variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10864 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/;
10865 tracehead = trace.prev;
10866 return;
10867 }
10868 void parser___ReduceAction109___init(val_t self, int* init_table) {
10869 struct trace_t trace = {NULL, "parser::ReduceAction109::init (src/parser//parser.nit:5573,1--4)"};
10870 trace.prev = tracehead; tracehead = &trace;
10871 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction109].i]) return;
10872 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction109].i] = 1;
10873 tracehead = trace.prev;
10874 return;
10875 }
10876 void parser___ReduceAction110___action(val_t self, val_t param0) {
10877 struct trace_t trace = {NULL, "parser::ReduceAction110::action (src/parser//parser.nit:5577,2--5614:34)"};
10878 val_t variable0;
10879 val_t variable1;
10880 val_t variable2;
10881 val_t variable3;
10882 val_t variable4;
10883 val_t variable5;
10884 val_t variable6;
10885 val_t variable7;
10886 val_t variable8;
10887 val_t variable9;
10888 val_t variable10;
10889 val_t variable11;
10890 val_t variable12;
10891 val_t variable13;
10892 val_t variable14;
10893 val_t variable15;
10894 val_t variable16;
10895 trace.prev = tracehead; tracehead = &trace;
10896 variable0 = param0;
10897 variable1 = NIT_NULL /*null*/;
10898 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10899 variable2 = variable3;
10900 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10901 variable3 = variable4;
10902 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10903 variable4 = variable5;
10904 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10905 variable5 = variable6;
10906 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10907 variable6 = variable7;
10908 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10909 variable7 = variable8;
10910 variable8 = variable7 /*nodearraylist1*/;
10911 variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10912 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5587,6--30\n"); nit_exit(1);}
10913 variable9 = variable6 /*nodearraylist2*/;
10914 variable10 = TAG_Bool(( variable9 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10915 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5589,6--44\n"); nit_exit(1);}
10916 variable11 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable9 /*tkwreadablenode5*/); /*new AReadAble*/
10917 variable10 = variable11;
10918 variable11 = variable5 /*nodearraylist3*/;
10919 variable12 = TAG_Bool(( variable11 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10920 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5595,6--44\n"); nit_exit(1);}
10921 variable12 = variable4 /*nodearraylist4*/;
10922 variable13 = TAG_Bool(( variable12 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable12 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
10923 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5597,6--36\n"); nit_exit(1);}
10924 variable13 = variable3 /*nodearraylist5*/;
10925 variable14 = TAG_Bool(( variable13 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable13 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
10926 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5599,6--37\n"); nit_exit(1);}
10927 variable14 = variable2 /*nodearraylist6*/;
10928 variable15 = TAG_Bool(( variable14 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
10929 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5601,6--33\n"); nit_exit(1);}
10930 variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, variable10 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode8*/, variable12 /*tkwattrnode9*/, variable13 /*tattridnode10*/, variable14 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
10931 variable15 = variable16;
10932 variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/;
10933 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
10934 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
10935 tracehead = trace.prev;
10936 return;
10937 }
10938 void parser___ReduceAction110___init(val_t self, int* init_table) {
10939 struct trace_t trace = {NULL, "parser::ReduceAction110::init (src/parser//parser.nit:5616,1--4)"};
10940 trace.prev = tracehead; tracehead = &trace;
10941 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction110].i]) return;
10942 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction110].i] = 1;
10943 tracehead = trace.prev;
10944 return;
10945 }
10946 void parser___ReduceAction111___action(val_t self, val_t param0) {
10947 struct trace_t trace = {NULL, "parser::ReduceAction111::action (src/parser//parser.nit:5620,2--5667:34)"};
10948 val_t variable0;
10949 val_t variable1;
10950 val_t variable2;
10951 val_t variable3;
10952 val_t variable4;
10953 val_t variable5;
10954 val_t variable6;
10955 val_t variable7;
10956 val_t variable8;
10957 val_t variable9;
10958 val_t variable10;
10959 val_t variable11;
10960 val_t variable12;
10961 val_t variable13;
10962 val_t variable14;
10963 val_t variable15;
10964 val_t variable16;
10965 val_t variable17;
10966 val_t variable18;
10967 val_t variable19;
10968 val_t variable20;
10969 val_t variable21;
10970 trace.prev = tracehead; tracehead = &trace;
10971 variable0 = param0;
10972 variable1 = NIT_NULL /*null*/;
10973 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10974 variable2 = variable3;
10975 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10976 variable3 = variable4;
10977 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10978 variable4 = variable5;
10979 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10980 variable5 = variable6;
10981 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10982 variable6 = variable7;
10983 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10984 variable7 = variable8;
10985 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10986 variable8 = variable9;
10987 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
10988 variable9 = variable10;
10989 variable10 = variable9 /*nodearraylist1*/;
10990 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10991 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5632,6--30\n"); nit_exit(1);}
10992 variable11 = variable8 /*nodearraylist2*/;
10993 variable12 = TAG_Bool(( variable11 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10994 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5634,6--38\n"); nit_exit(1);}
10995 variable12 = variable7 /*nodearraylist3*/;
10996 variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
10997 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5636,6--44\n"); nit_exit(1);}
10998 variable14 = NEW_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/
10999 variable13 = variable14;
11000 variable14 = variable6 /*nodearraylist4*/;
11001 variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11002 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5642,6--44\n"); nit_exit(1);}
11003 variable16 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
11004 variable15 = variable16;
11005 variable16 = variable5 /*nodearraylist5*/;
11006 variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11007 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5648,6--45\n"); nit_exit(1);}
11008 variable17 = variable4 /*nodearraylist6*/;
11009 variable18 = TAG_Bool(( variable17 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11010 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5650,6--37\n"); nit_exit(1);}
11011 variable18 = variable3 /*nodearraylist7*/;
11012 variable19 = TAG_Bool(( variable18 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11013 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5652,6--37\n"); nit_exit(1);}
11014 variable19 = variable2 /*nodearraylist8*/;
11015 variable20 = TAG_Bool(( variable19 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
11016 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5654,6--33\n"); nit_exit(1);}
11017 variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable13 /*pablenode3*/, variable15 /*pablenode6*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode10*/, variable17 /*tkwattrnode11*/, variable18 /*tattridnode12*/, variable19 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11018 variable20 = variable21;
11019 variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/;
11020 variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11021 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/;
11022 tracehead = trace.prev;
11023 return;
11024 }
11025 void parser___ReduceAction111___init(val_t self, int* init_table) {
11026 struct trace_t trace = {NULL, "parser::ReduceAction111::init (src/parser//parser.nit:5669,1--4)"};
11027 trace.prev = tracehead; tracehead = &trace;
11028 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction111].i]) return;
11029 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction111].i] = 1;
11030 tracehead = trace.prev;
11031 return;
11032 }
11033 void parser___ReduceAction112___action(val_t self, val_t param0) {
11034 struct trace_t trace = {NULL, "parser::ReduceAction112::action (src/parser//parser.nit:5673,2--5723:34)"};
11035 val_t variable0;
11036 val_t variable1;
11037 val_t variable2;
11038 val_t variable3;
11039 val_t variable4;
11040 val_t variable5;
11041 val_t variable6;
11042 val_t variable7;
11043 val_t variable8;
11044 val_t variable9;
11045 val_t variable10;
11046 val_t variable11;
11047 val_t variable12;
11048 val_t variable13;
11049 val_t variable14;
11050 val_t variable15;
11051 val_t variable16;
11052 val_t variable17;
11053 val_t variable18;
11054 val_t variable19;
11055 val_t variable20;
11056 val_t variable21;
11057 val_t variable22;
11058 val_t variable23;
11059 trace.prev = tracehead; tracehead = &trace;
11060 variable0 = param0;
11061 variable1 = NIT_NULL /*null*/;
11062 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11063 variable2 = variable3;
11064 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11065 variable3 = variable4;
11066 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11067 variable4 = variable5;
11068 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11069 variable5 = variable6;
11070 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11071 variable6 = variable7;
11072 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11073 variable7 = variable8;
11074 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11075 variable8 = variable9;
11076 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11077 variable9 = variable10;
11078 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11079 variable10 = variable11;
11080 variable11 = variable10 /*nodearraylist1*/;
11081 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11082 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5686,6--30\n"); nit_exit(1);}
11083 variable12 = variable9 /*nodearraylist2*/;
11084 variable13 = TAG_Bool(( variable12 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11085 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5688,6--38\n"); nit_exit(1);}
11086 variable13 = variable8 /*nodearraylist3*/;
11087 variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11088 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5690,6--44\n"); nit_exit(1);}
11089 variable15 = NEW_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/
11090 variable14 = variable15;
11091 variable15 = variable7 /*nodearraylist4*/;
11092 variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11093 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5696,6--38\n"); nit_exit(1);}
11094 variable16 = variable6 /*nodearraylist5*/;
11095 variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11096 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5698,6--44\n"); nit_exit(1);}
11097 variable18 = NEW_parser_prod___AWriteAble___init_awriteable( variable15 /*tkwredefnode7*/, variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
11098 variable17 = variable18;
11099 variable18 = variable5 /*nodearraylist6*/;
11100 variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11101 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5704,6--45\n"); nit_exit(1);}
11102 variable19 = variable4 /*nodearraylist7*/;
11103 variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11104 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5706,6--37\n"); nit_exit(1);}
11105 variable20 = variable3 /*nodearraylist8*/;
11106 variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11107 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5708,6--37\n"); nit_exit(1);}
11108 variable21 = variable2 /*nodearraylist9*/;
11109 variable22 = TAG_Bool(( variable21 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
11110 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5710,6--33\n"); nit_exit(1);}
11111 variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable14 /*pablenode3*/, variable17 /*pablenode6*/, NIT_NULL /*null*/, variable18 /*pvisibilitynode10*/, variable19 /*tkwattrnode11*/, variable20 /*tattridnode12*/, variable21 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11112 variable22 = variable23;
11113 variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/;
11114 variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11115 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/;
11116 tracehead = trace.prev;
11117 return;
11118 }
11119 void parser___ReduceAction112___init(val_t self, int* init_table) {
11120 struct trace_t trace = {NULL, "parser::ReduceAction112::init (src/parser//parser.nit:5725,1--4)"};
11121 trace.prev = tracehead; tracehead = &trace;
11122 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction112].i]) return;
11123 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction112].i] = 1;
11124 tracehead = trace.prev;
11125 return;
11126 }
11127 void parser___ReduceAction113___action(val_t self, val_t param0) {
11128 struct trace_t trace = {NULL, "parser::ReduceAction113::action (src/parser//parser.nit:5729,2--5769:34)"};
11129 val_t variable0;
11130 val_t variable1;
11131 val_t variable2;
11132 val_t variable3;
11133 val_t variable4;
11134 val_t variable5;
11135 val_t variable6;
11136 val_t variable7;
11137 val_t variable8;
11138 val_t variable9;
11139 val_t variable10;
11140 val_t variable11;
11141 val_t variable12;
11142 val_t variable13;
11143 val_t variable14;
11144 val_t variable15;
11145 val_t variable16;
11146 val_t variable17;
11147 val_t variable18;
11148 trace.prev = tracehead; tracehead = &trace;
11149 variable0 = param0;
11150 variable1 = NIT_NULL /*null*/;
11151 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11152 variable2 = variable3;
11153 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11154 variable3 = variable4;
11155 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11156 variable4 = variable5;
11157 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11158 variable5 = variable6;
11159 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11160 variable6 = variable7;
11161 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11162 variable7 = variable8;
11163 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11164 variable8 = variable9;
11165 variable9 = variable8 /*nodearraylist1*/;
11166 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11167 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5740,6--30\n"); nit_exit(1);}
11168 variable10 = variable7 /*nodearraylist2*/;
11169 variable11 = TAG_Bool(( variable10 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11170 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5742,6--38\n"); nit_exit(1);}
11171 variable11 = variable6 /*nodearraylist3*/;
11172 variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11173 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5744,6--44\n"); nit_exit(1);}
11174 variable13 = NEW_parser_prod___AReadAble___init_areadable( variable10 /*tkwredefnode4*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/
11175 variable12 = variable13;
11176 variable13 = variable5 /*nodearraylist4*/;
11177 variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11178 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5750,6--44\n"); nit_exit(1);}
11179 variable14 = variable4 /*nodearraylist5*/;
11180 variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11181 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5752,6--36\n"); nit_exit(1);}
11182 variable15 = variable3 /*nodearraylist6*/;
11183 variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11184 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5754,6--37\n"); nit_exit(1);}
11185 variable16 = variable2 /*nodearraylist7*/;
11186 variable17 = TAG_Bool(( variable16 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
11187 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5756,6--33\n"); nit_exit(1);}
11188 variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable12 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable13 /*pvisibilitynode8*/, variable14 /*tkwattrnode9*/, variable15 /*tattridnode10*/, variable16 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11189 variable17 = variable18;
11190 variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/;
11191 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11192 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
11193 tracehead = trace.prev;
11194 return;
11195 }
11196 void parser___ReduceAction113___init(val_t self, int* init_table) {
11197 struct trace_t trace = {NULL, "parser::ReduceAction113::init (src/parser//parser.nit:5771,1--4)"};
11198 trace.prev = tracehead; tracehead = &trace;
11199 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction113].i]) return;
11200 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction113].i] = 1;
11201 tracehead = trace.prev;
11202 return;
11203 }
11204 void parser___ReduceAction114___action(val_t self, val_t param0) {
11205 struct trace_t trace = {NULL, "parser::ReduceAction114::action (src/parser//parser.nit:5775,2--5812:34)"};
11206 val_t variable0;
11207 val_t variable1;
11208 val_t variable2;
11209 val_t variable3;
11210 val_t variable4;
11211 val_t variable5;
11212 val_t variable6;
11213 val_t variable7;
11214 val_t variable8;
11215 val_t variable9;
11216 val_t variable10;
11217 val_t variable11;
11218 val_t variable12;
11219 val_t variable13;
11220 val_t variable14;
11221 val_t variable15;
11222 val_t variable16;
11223 trace.prev = tracehead; tracehead = &trace;
11224 variable0 = param0;
11225 variable1 = NIT_NULL /*null*/;
11226 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11227 variable2 = variable3;
11228 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11229 variable3 = variable4;
11230 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11231 variable4 = variable5;
11232 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11233 variable5 = variable6;
11234 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11235 variable6 = variable7;
11236 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11237 variable7 = variable8;
11238 variable8 = variable7 /*nodearraylist1*/;
11239 variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11240 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5785,6--30\n"); nit_exit(1);}
11241 variable9 = variable6 /*nodearraylist2*/;
11242 variable10 = TAG_Bool(( variable9 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable9 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11243 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5787,6--44\n"); nit_exit(1);}
11244 variable11 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable9 /*tkwwritablenode6*/); /*new AWriteAble*/
11245 variable10 = variable11;
11246 variable11 = variable5 /*nodearraylist3*/;
11247 variable12 = TAG_Bool(( variable11 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11248 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5793,6--44\n"); nit_exit(1);}
11249 variable12 = variable4 /*nodearraylist4*/;
11250 variable13 = TAG_Bool(( variable12 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable12 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11251 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5795,6--36\n"); nit_exit(1);}
11252 variable13 = variable3 /*nodearraylist5*/;
11253 variable14 = TAG_Bool(( variable13 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable13 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11254 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5797,6--37\n"); nit_exit(1);}
11255 variable14 = variable2 /*nodearraylist6*/;
11256 variable15 = TAG_Bool(( variable14 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
11257 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5799,6--33\n"); nit_exit(1);}
11258 variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pablenode4*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode8*/, variable12 /*tkwattrnode9*/, variable13 /*tattridnode10*/, variable14 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11259 variable15 = variable16;
11260 variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/;
11261 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11262 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
11263 tracehead = trace.prev;
11264 return;
11265 }
11266 void parser___ReduceAction114___init(val_t self, int* init_table) {
11267 struct trace_t trace = {NULL, "parser::ReduceAction114::init (src/parser//parser.nit:5814,1--4)"};
11268 trace.prev = tracehead; tracehead = &trace;
11269 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction114].i]) return;
11270 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction114].i] = 1;
11271 tracehead = trace.prev;
11272 return;
11273 }
11274 void parser___ReduceAction115___action(val_t self, val_t param0) {
11275 struct trace_t trace = {NULL, "parser::ReduceAction115::action (src/parser//parser.nit:5818,2--5858:34)"};
11276 val_t variable0;
11277 val_t variable1;
11278 val_t variable2;
11279 val_t variable3;
11280 val_t variable4;
11281 val_t variable5;
11282 val_t variable6;
11283 val_t variable7;
11284 val_t variable8;
11285 val_t variable9;
11286 val_t variable10;
11287 val_t variable11;
11288 val_t variable12;
11289 val_t variable13;
11290 val_t variable14;
11291 val_t variable15;
11292 val_t variable16;
11293 val_t variable17;
11294 val_t variable18;
11295 trace.prev = tracehead; tracehead = &trace;
11296 variable0 = param0;
11297 variable1 = NIT_NULL /*null*/;
11298 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11299 variable2 = variable3;
11300 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11301 variable3 = variable4;
11302 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11303 variable4 = variable5;
11304 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11305 variable5 = variable6;
11306 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11307 variable6 = variable7;
11308 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11309 variable7 = variable8;
11310 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11311 variable8 = variable9;
11312 variable9 = variable8 /*nodearraylist1*/;
11313 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11314 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5829,6--30\n"); nit_exit(1);}
11315 variable10 = variable7 /*nodearraylist2*/;
11316 variable11 = TAG_Bool(( variable10 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11317 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5831,6--38\n"); nit_exit(1);}
11318 variable11 = variable6 /*nodearraylist3*/;
11319 variable12 = TAG_Bool(( variable11 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable11 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11320 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5833,6--44\n"); nit_exit(1);}
11321 variable13 = NEW_parser_prod___AWriteAble___init_awriteable( variable10 /*tkwredefnode5*/, variable11 /*tkwwritablenode6*/); /*new AWriteAble*/
11322 variable12 = variable13;
11323 variable13 = variable5 /*nodearraylist4*/;
11324 variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11325 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5839,6--44\n"); nit_exit(1);}
11326 variable14 = variable4 /*nodearraylist5*/;
11327 variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11328 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5841,6--36\n"); nit_exit(1);}
11329 variable15 = variable3 /*nodearraylist6*/;
11330 variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11331 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5843,6--37\n"); nit_exit(1);}
11332 variable16 = variable2 /*nodearraylist7*/;
11333 variable17 = TAG_Bool(( variable16 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
11334 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5845,6--33\n"); nit_exit(1);}
11335 variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable12 /*pablenode4*/, NIT_NULL /*null*/, variable13 /*pvisibilitynode8*/, variable14 /*tkwattrnode9*/, variable15 /*tattridnode10*/, variable16 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11336 variable17 = variable18;
11337 variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/;
11338 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11339 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
11340 tracehead = trace.prev;
11341 return;
11342 }
11343 void parser___ReduceAction115___init(val_t self, int* init_table) {
11344 struct trace_t trace = {NULL, "parser::ReduceAction115::init (src/parser//parser.nit:5860,1--4)"};
11345 trace.prev = tracehead; tracehead = &trace;
11346 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction115].i]) return;
11347 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction115].i] = 1;
11348 tracehead = trace.prev;
11349 return;
11350 }
11351 void parser___ReduceAction116___action(val_t self, val_t param0) {
11352 struct trace_t trace = {NULL, "parser::ReduceAction116::action (src/parser//parser.nit:5864,2--5894:34)"};
11353 val_t variable0;
11354 val_t variable1;
11355 val_t variable2;
11356 val_t variable3;
11357 val_t variable4;
11358 val_t variable5;
11359 val_t variable6;
11360 val_t variable7;
11361 val_t variable8;
11362 val_t variable9;
11363 val_t variable10;
11364 val_t variable11;
11365 val_t variable12;
11366 val_t variable13;
11367 trace.prev = tracehead; tracehead = &trace;
11368 variable0 = param0;
11369 variable1 = NIT_NULL /*null*/;
11370 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11371 variable2 = variable3;
11372 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11373 variable3 = variable4;
11374 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11375 variable4 = variable5;
11376 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11377 variable5 = variable6;
11378 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11379 variable6 = variable7;
11380 variable7 = variable6 /*nodearraylist1*/;
11381 variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11382 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5873,6--30\n"); nit_exit(1);}
11383 variable8 = variable5 /*nodearraylist2*/;
11384 variable9 = TAG_Bool(( variable8 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable8 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11385 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5875,6--44\n"); nit_exit(1);}
11386 variable9 = variable4 /*nodearraylist3*/;
11387 variable10 = TAG_Bool(( variable9 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable9 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11388 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5877,6--36\n"); nit_exit(1);}
11389 variable10 = variable3 /*nodearraylist4*/;
11390 variable11 = TAG_Bool(( variable10 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable10 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11391 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5879,6--36\n"); nit_exit(1);}
11392 variable11 = variable2 /*nodearraylist5*/;
11393 variable12 = TAG_Bool(( variable11 /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
11394 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5881,6--32\n"); nit_exit(1);}
11395 variable13 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable8 /*pvisibilitynode6*/, variable9 /*tkwattrnode7*/, variable10 /*tattridnode8*/, variable11 /*ptypenode9*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11396 variable12 = variable13;
11397 variable1 = variable12 /*ppropdefnode1*/ /*node_list=*/;
11398 variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11399 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/;
11400 tracehead = trace.prev;
11401 return;
11402 }
11403 void parser___ReduceAction116___init(val_t self, int* init_table) {
11404 struct trace_t trace = {NULL, "parser::ReduceAction116::init (src/parser//parser.nit:5896,1--4)"};
11405 trace.prev = tracehead; tracehead = &trace;
11406 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction116].i]) return;
11407 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction116].i] = 1;
11408 tracehead = trace.prev;
11409 return;
11410 }
11411 void parser___ReduceAction117___action(val_t self, val_t param0) {
11412 struct trace_t trace = {NULL, "parser::ReduceAction117::action (src/parser//parser.nit:5900,2--5947:34)"};
11413 val_t variable0;
11414 val_t variable1;
11415 val_t variable2;
11416 val_t variable3;
11417 val_t variable4;
11418 val_t variable5;
11419 val_t variable6;
11420 val_t variable7;
11421 val_t variable8;
11422 val_t variable9;
11423 val_t variable10;
11424 val_t variable11;
11425 val_t variable12;
11426 val_t variable13;
11427 val_t variable14;
11428 val_t variable15;
11429 val_t variable16;
11430 val_t variable17;
11431 val_t variable18;
11432 val_t variable19;
11433 val_t variable20;
11434 val_t variable21;
11435 trace.prev = tracehead; tracehead = &trace;
11436 variable0 = param0;
11437 variable1 = NIT_NULL /*null*/;
11438 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11439 variable2 = variable3;
11440 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11441 variable3 = variable4;
11442 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11443 variable4 = variable5;
11444 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11445 variable5 = variable6;
11446 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11447 variable6 = variable7;
11448 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11449 variable7 = variable8;
11450 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11451 variable8 = variable9;
11452 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11453 variable9 = variable10;
11454 variable10 = variable9 /*nodearraylist1*/;
11455 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11456 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5912,6--30\n"); nit_exit(1);}
11457 variable11 = variable8 /*nodearraylist2*/;
11458 variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11459 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5914,6--44\n"); nit_exit(1);}
11460 variable13 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/
11461 variable12 = variable13;
11462 variable13 = variable7 /*nodearraylist3*/;
11463 variable14 = TAG_Bool(( variable13 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11464 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5920,6--44\n"); nit_exit(1);}
11465 variable15 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable13 /*tkwwritablenode8*/); /*new AWriteAble*/
11466 variable14 = variable15;
11467 variable15 = variable6 /*nodearraylist4*/;
11468 variable16 = TAG_Bool(( variable15 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11469 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5926,6--38\n"); nit_exit(1);}
11470 variable16 = variable5 /*nodearraylist5*/;
11471 variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11472 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5928,6--45\n"); nit_exit(1);}
11473 variable17 = variable4 /*nodearraylist6*/;
11474 variable18 = TAG_Bool(( variable17 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11475 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5930,6--37\n"); nit_exit(1);}
11476 variable18 = variable3 /*nodearraylist7*/;
11477 variable19 = TAG_Bool(( variable18 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11478 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5932,6--37\n"); nit_exit(1);}
11479 variable19 = variable2 /*nodearraylist8*/;
11480 variable20 = TAG_Bool(( variable19 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
11481 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5934,6--33\n"); nit_exit(1);}
11482 variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable12 /*pablenode3*/, variable14 /*pablenode6*/, variable15 /*tkwredefnode9*/, variable16 /*pvisibilitynode10*/, variable17 /*tkwattrnode11*/, variable18 /*tattridnode12*/, variable19 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11483 variable20 = variable21;
11484 variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/;
11485 variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11486 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/;
11487 tracehead = trace.prev;
11488 return;
11489 }
11490 void parser___ReduceAction117___init(val_t self, int* init_table) {
11491 struct trace_t trace = {NULL, "parser::ReduceAction117::init (src/parser//parser.nit:5949,1--4)"};
11492 trace.prev = tracehead; tracehead = &trace;
11493 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction117].i]) return;
11494 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction117].i] = 1;
11495 tracehead = trace.prev;
11496 return;
11497 }
11498 void parser___ReduceAction118___action(val_t self, val_t param0) {
11499 struct trace_t trace = {NULL, "parser::ReduceAction118::action (src/parser//parser.nit:5953,2--6003:34)"};
11500 val_t variable0;
11501 val_t variable1;
11502 val_t variable2;
11503 val_t variable3;
11504 val_t variable4;
11505 val_t variable5;
11506 val_t variable6;
11507 val_t variable7;
11508 val_t variable8;
11509 val_t variable9;
11510 val_t variable10;
11511 val_t variable11;
11512 val_t variable12;
11513 val_t variable13;
11514 val_t variable14;
11515 val_t variable15;
11516 val_t variable16;
11517 val_t variable17;
11518 val_t variable18;
11519 val_t variable19;
11520 val_t variable20;
11521 val_t variable21;
11522 val_t variable22;
11523 val_t variable23;
11524 trace.prev = tracehead; tracehead = &trace;
11525 variable0 = param0;
11526 variable1 = NIT_NULL /*null*/;
11527 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11528 variable2 = variable3;
11529 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11530 variable3 = variable4;
11531 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11532 variable4 = variable5;
11533 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11534 variable5 = variable6;
11535 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11536 variable6 = variable7;
11537 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11538 variable7 = variable8;
11539 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11540 variable8 = variable9;
11541 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11542 variable9 = variable10;
11543 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11544 variable10 = variable11;
11545 variable11 = variable10 /*nodearraylist1*/;
11546 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11547 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5966,6--30\n"); nit_exit(1);}
11548 variable12 = variable9 /*nodearraylist2*/;
11549 variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11550 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5968,6--44\n"); nit_exit(1);}
11551 variable14 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/
11552 variable13 = variable14;
11553 variable14 = variable8 /*nodearraylist3*/;
11554 variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11555 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5974,6--38\n"); nit_exit(1);}
11556 variable15 = variable7 /*nodearraylist4*/;
11557 variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11558 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5976,6--44\n"); nit_exit(1);}
11559 variable17 = NEW_parser_prod___AWriteAble___init_awriteable( variable14 /*tkwredefnode7*/, variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
11560 variable16 = variable17;
11561 variable17 = variable6 /*nodearraylist5*/;
11562 variable18 = TAG_Bool(( variable17 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11563 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5982,6--38\n"); nit_exit(1);}
11564 variable18 = variable5 /*nodearraylist6*/;
11565 variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11566 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5984,6--45\n"); nit_exit(1);}
11567 variable19 = variable4 /*nodearraylist7*/;
11568 variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11569 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5986,6--37\n"); nit_exit(1);}
11570 variable20 = variable3 /*nodearraylist8*/;
11571 variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11572 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5988,6--37\n"); nit_exit(1);}
11573 variable21 = variable2 /*nodearraylist9*/;
11574 variable22 = TAG_Bool(( variable21 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
11575 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5990,6--33\n"); nit_exit(1);}
11576 variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable13 /*pablenode3*/, variable16 /*pablenode6*/, variable17 /*tkwredefnode9*/, variable18 /*pvisibilitynode10*/, variable19 /*tkwattrnode11*/, variable20 /*tattridnode12*/, variable21 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11577 variable22 = variable23;
11578 variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/;
11579 variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11580 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/;
11581 tracehead = trace.prev;
11582 return;
11583 }
11584 void parser___ReduceAction118___init(val_t self, int* init_table) {
11585 struct trace_t trace = {NULL, "parser::ReduceAction118::init (src/parser//parser.nit:6005,1--4)"};
11586 trace.prev = tracehead; tracehead = &trace;
11587 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction118].i]) return;
11588 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction118].i] = 1;
11589 tracehead = trace.prev;
11590 return;
11591 }
11592 void parser___ReduceAction119___action(val_t self, val_t param0) {
11593 struct trace_t trace = {NULL, "parser::ReduceAction119::action (src/parser//parser.nit:6009,2--6049:34)"};
11594 val_t variable0;
11595 val_t variable1;
11596 val_t variable2;
11597 val_t variable3;
11598 val_t variable4;
11599 val_t variable5;
11600 val_t variable6;
11601 val_t variable7;
11602 val_t variable8;
11603 val_t variable9;
11604 val_t variable10;
11605 val_t variable11;
11606 val_t variable12;
11607 val_t variable13;
11608 val_t variable14;
11609 val_t variable15;
11610 val_t variable16;
11611 val_t variable17;
11612 val_t variable18;
11613 trace.prev = tracehead; tracehead = &trace;
11614 variable0 = param0;
11615 variable1 = NIT_NULL /*null*/;
11616 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11617 variable2 = variable3;
11618 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11619 variable3 = variable4;
11620 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11621 variable4 = variable5;
11622 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11623 variable5 = variable6;
11624 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11625 variable6 = variable7;
11626 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11627 variable7 = variable8;
11628 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11629 variable8 = variable9;
11630 variable9 = variable8 /*nodearraylist1*/;
11631 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11632 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6020,6--30\n"); nit_exit(1);}
11633 variable10 = variable7 /*nodearraylist2*/;
11634 variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11635 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6022,6--44\n"); nit_exit(1);}
11636 variable12 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable10 /*tkwreadablenode5*/); /*new AReadAble*/
11637 variable11 = variable12;
11638 variable12 = variable6 /*nodearraylist3*/;
11639 variable13 = TAG_Bool(( variable12 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11640 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6028,6--38\n"); nit_exit(1);}
11641 variable13 = variable5 /*nodearraylist4*/;
11642 variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11643 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6030,6--44\n"); nit_exit(1);}
11644 variable14 = variable4 /*nodearraylist5*/;
11645 variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11646 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6032,6--36\n"); nit_exit(1);}
11647 variable15 = variable3 /*nodearraylist6*/;
11648 variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11649 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6034,6--37\n"); nit_exit(1);}
11650 variable16 = variable2 /*nodearraylist7*/;
11651 variable17 = TAG_Bool(( variable16 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
11652 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6036,6--33\n"); nit_exit(1);}
11653 variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable11 /*pablenode3*/, NIT_NULL /*null*/, variable12 /*tkwredefnode7*/, variable13 /*pvisibilitynode8*/, variable14 /*tkwattrnode9*/, variable15 /*tattridnode10*/, variable16 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11654 variable17 = variable18;
11655 variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/;
11656 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11657 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
11658 tracehead = trace.prev;
11659 return;
11660 }
11661 void parser___ReduceAction119___init(val_t self, int* init_table) {
11662 struct trace_t trace = {NULL, "parser::ReduceAction119::init (src/parser//parser.nit:6051,1--4)"};
11663 trace.prev = tracehead; tracehead = &trace;
11664 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction119].i]) return;
11665 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction119].i] = 1;
11666 tracehead = trace.prev;
11667 return;
11668 }
11669 void parser___ReduceAction120___action(val_t self, val_t param0) {
11670 struct trace_t trace = {NULL, "parser::ReduceAction120::action (src/parser//parser.nit:6055,2--6105:34)"};
11671 val_t variable0;
11672 val_t variable1;
11673 val_t variable2;
11674 val_t variable3;
11675 val_t variable4;
11676 val_t variable5;
11677 val_t variable6;
11678 val_t variable7;
11679 val_t variable8;
11680 val_t variable9;
11681 val_t variable10;
11682 val_t variable11;
11683 val_t variable12;
11684 val_t variable13;
11685 val_t variable14;
11686 val_t variable15;
11687 val_t variable16;
11688 val_t variable17;
11689 val_t variable18;
11690 val_t variable19;
11691 val_t variable20;
11692 val_t variable21;
11693 val_t variable22;
11694 val_t variable23;
11695 trace.prev = tracehead; tracehead = &trace;
11696 variable0 = param0;
11697 variable1 = NIT_NULL /*null*/;
11698 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11699 variable2 = variable3;
11700 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11701 variable3 = variable4;
11702 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11703 variable4 = variable5;
11704 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11705 variable5 = variable6;
11706 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11707 variable6 = variable7;
11708 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11709 variable7 = variable8;
11710 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11711 variable8 = variable9;
11712 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11713 variable9 = variable10;
11714 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11715 variable10 = variable11;
11716 variable11 = variable10 /*nodearraylist1*/;
11717 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11718 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6068,6--30\n"); nit_exit(1);}
11719 variable12 = variable9 /*nodearraylist2*/;
11720 variable13 = TAG_Bool(( variable12 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11721 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6070,6--38\n"); nit_exit(1);}
11722 variable13 = variable8 /*nodearraylist3*/;
11723 variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11724 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6072,6--44\n"); nit_exit(1);}
11725 variable15 = NEW_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/
11726 variable14 = variable15;
11727 variable15 = variable7 /*nodearraylist4*/;
11728 variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11729 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6078,6--44\n"); nit_exit(1);}
11730 variable17 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
11731 variable16 = variable17;
11732 variable17 = variable6 /*nodearraylist5*/;
11733 variable18 = TAG_Bool(( variable17 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11734 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6084,6--38\n"); nit_exit(1);}
11735 variable18 = variable5 /*nodearraylist6*/;
11736 variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11737 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6086,6--45\n"); nit_exit(1);}
11738 variable19 = variable4 /*nodearraylist7*/;
11739 variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11740 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6088,6--37\n"); nit_exit(1);}
11741 variable20 = variable3 /*nodearraylist8*/;
11742 variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11743 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6090,6--37\n"); nit_exit(1);}
11744 variable21 = variable2 /*nodearraylist9*/;
11745 variable22 = TAG_Bool(( variable21 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
11746 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6092,6--33\n"); nit_exit(1);}
11747 variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable14 /*pablenode3*/, variable16 /*pablenode6*/, variable17 /*tkwredefnode9*/, variable18 /*pvisibilitynode10*/, variable19 /*tkwattrnode11*/, variable20 /*tattridnode12*/, variable21 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11748 variable22 = variable23;
11749 variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/;
11750 variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11751 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/;
11752 tracehead = trace.prev;
11753 return;
11754 }
11755 void parser___ReduceAction120___init(val_t self, int* init_table) {
11756 struct trace_t trace = {NULL, "parser::ReduceAction120::init (src/parser//parser.nit:6107,1--4)"};
11757 trace.prev = tracehead; tracehead = &trace;
11758 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction120].i]) return;
11759 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction120].i] = 1;
11760 tracehead = trace.prev;
11761 return;
11762 }
11763 void parser___ReduceAction121___action(val_t self, val_t param0) {
11764 struct trace_t trace = {NULL, "parser::ReduceAction121::action (src/parser//parser.nit:6111,2--6164:34)"};
11765 val_t variable0;
11766 val_t variable1;
11767 val_t variable2;
11768 val_t variable3;
11769 val_t variable4;
11770 val_t variable5;
11771 val_t variable6;
11772 val_t variable7;
11773 val_t variable8;
11774 val_t variable9;
11775 val_t variable10;
11776 val_t variable11;
11777 val_t variable12;
11778 val_t variable13;
11779 val_t variable14;
11780 val_t variable15;
11781 val_t variable16;
11782 val_t variable17;
11783 val_t variable18;
11784 val_t variable19;
11785 val_t variable20;
11786 val_t variable21;
11787 val_t variable22;
11788 val_t variable23;
11789 val_t variable24;
11790 val_t variable25;
11791 trace.prev = tracehead; tracehead = &trace;
11792 variable0 = param0;
11793 variable1 = NIT_NULL /*null*/;
11794 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11795 variable2 = variable3;
11796 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11797 variable3 = variable4;
11798 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11799 variable4 = variable5;
11800 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11801 variable5 = variable6;
11802 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11803 variable6 = variable7;
11804 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11805 variable7 = variable8;
11806 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11807 variable8 = variable9;
11808 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11809 variable9 = variable10;
11810 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11811 variable10 = variable11;
11812 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11813 variable11 = variable12;
11814 variable12 = variable11 /*nodearraylist1*/;
11815 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11816 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6125,6--30\n"); nit_exit(1);}
11817 variable13 = variable10 /*nodearraylist2*/;
11818 variable14 = TAG_Bool(( variable13 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11819 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6127,6--38\n"); nit_exit(1);}
11820 variable14 = variable9 /*nodearraylist3*/;
11821 variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11822 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6129,6--44\n"); nit_exit(1);}
11823 variable16 = NEW_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/
11824 variable15 = variable16;
11825 variable16 = variable8 /*nodearraylist4*/;
11826 variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11827 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6135,6--38\n"); nit_exit(1);}
11828 variable17 = variable7 /*nodearraylist5*/;
11829 variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11830 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6137,6--44\n"); nit_exit(1);}
11831 variable19 = NEW_parser_prod___AWriteAble___init_awriteable( variable16 /*tkwredefnode7*/, variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
11832 variable18 = variable19;
11833 variable19 = variable6 /*nodearraylist6*/;
11834 variable20 = TAG_Bool(( variable19 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11835 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6143,6--38\n"); nit_exit(1);}
11836 variable20 = variable5 /*nodearraylist7*/;
11837 variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11838 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6145,6--45\n"); nit_exit(1);}
11839 variable21 = variable4 /*nodearraylist8*/;
11840 variable22 = TAG_Bool(( variable21 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable21 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11841 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6147,6--37\n"); nit_exit(1);}
11842 variable22 = variable3 /*nodearraylist9*/;
11843 variable23 = TAG_Bool(( variable22 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable22 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11844 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6149,6--37\n"); nit_exit(1);}
11845 variable23 = variable2 /*nodearraylist10*/;
11846 variable24 = TAG_Bool(( variable23 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable23 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
11847 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6151,6--33\n"); nit_exit(1);}
11848 variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable15 /*pablenode3*/, variable18 /*pablenode6*/, variable19 /*tkwredefnode9*/, variable20 /*pvisibilitynode10*/, variable21 /*tkwattrnode11*/, variable22 /*tattridnode12*/, variable23 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11849 variable24 = variable25;
11850 variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/;
11851 variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11852 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/;
11853 tracehead = trace.prev;
11854 return;
11855 }
11856 void parser___ReduceAction121___init(val_t self, int* init_table) {
11857 struct trace_t trace = {NULL, "parser::ReduceAction121::init (src/parser//parser.nit:6166,1--4)"};
11858 trace.prev = tracehead; tracehead = &trace;
11859 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction121].i]) return;
11860 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction121].i] = 1;
11861 tracehead = trace.prev;
11862 return;
11863 }
11864 void parser___ReduceAction122___action(val_t self, val_t param0) {
11865 struct trace_t trace = {NULL, "parser::ReduceAction122::action (src/parser//parser.nit:6170,2--6213:34)"};
11866 val_t variable0;
11867 val_t variable1;
11868 val_t variable2;
11869 val_t variable3;
11870 val_t variable4;
11871 val_t variable5;
11872 val_t variable6;
11873 val_t variable7;
11874 val_t variable8;
11875 val_t variable9;
11876 val_t variable10;
11877 val_t variable11;
11878 val_t variable12;
11879 val_t variable13;
11880 val_t variable14;
11881 val_t variable15;
11882 val_t variable16;
11883 val_t variable17;
11884 val_t variable18;
11885 val_t variable19;
11886 val_t variable20;
11887 trace.prev = tracehead; tracehead = &trace;
11888 variable0 = param0;
11889 variable1 = NIT_NULL /*null*/;
11890 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11891 variable2 = variable3;
11892 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11893 variable3 = variable4;
11894 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11895 variable4 = variable5;
11896 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11897 variable5 = variable6;
11898 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11899 variable6 = variable7;
11900 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11901 variable7 = variable8;
11902 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11903 variable8 = variable9;
11904 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11905 variable9 = variable10;
11906 variable10 = variable9 /*nodearraylist1*/;
11907 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11908 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6182,6--30\n"); nit_exit(1);}
11909 variable11 = variable8 /*nodearraylist2*/;
11910 variable12 = TAG_Bool(( variable11 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11911 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6184,6--38\n"); nit_exit(1);}
11912 variable12 = variable7 /*nodearraylist3*/;
11913 variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
11914 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6186,6--44\n"); nit_exit(1);}
11915 variable14 = NEW_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/
11916 variable13 = variable14;
11917 variable14 = variable6 /*nodearraylist4*/;
11918 variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11919 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6192,6--38\n"); nit_exit(1);}
11920 variable15 = variable5 /*nodearraylist5*/;
11921 variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11922 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6194,6--44\n"); nit_exit(1);}
11923 variable16 = variable4 /*nodearraylist6*/;
11924 variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
11925 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6196,6--36\n"); nit_exit(1);}
11926 variable17 = variable3 /*nodearraylist7*/;
11927 variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
11928 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6198,6--37\n"); nit_exit(1);}
11929 variable18 = variable2 /*nodearraylist8*/;
11930 variable19 = TAG_Bool(( variable18 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable18 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
11931 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6200,6--33\n"); nit_exit(1);}
11932 variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable13 /*pablenode3*/, NIT_NULL /*null*/, variable14 /*tkwredefnode7*/, variable15 /*pvisibilitynode8*/, variable16 /*tkwattrnode9*/, variable17 /*tattridnode10*/, variable18 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
11933 variable19 = variable20;
11934 variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/;
11935 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
11936 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
11937 tracehead = trace.prev;
11938 return;
11939 }
11940 void parser___ReduceAction122___init(val_t self, int* init_table) {
11941 struct trace_t trace = {NULL, "parser::ReduceAction122::init (src/parser//parser.nit:6215,1--4)"};
11942 trace.prev = tracehead; tracehead = &trace;
11943 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction122].i]) return;
11944 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction122].i] = 1;
11945 tracehead = trace.prev;
11946 return;
11947 }
11948 void parser___ReduceAction123___action(val_t self, val_t param0) {
11949 struct trace_t trace = {NULL, "parser::ReduceAction123::action (src/parser//parser.nit:6219,2--6259:34)"};
11950 val_t variable0;
11951 val_t variable1;
11952 val_t variable2;
11953 val_t variable3;
11954 val_t variable4;
11955 val_t variable5;
11956 val_t variable6;
11957 val_t variable7;
11958 val_t variable8;
11959 val_t variable9;
11960 val_t variable10;
11961 val_t variable11;
11962 val_t variable12;
11963 val_t variable13;
11964 val_t variable14;
11965 val_t variable15;
11966 val_t variable16;
11967 val_t variable17;
11968 val_t variable18;
11969 trace.prev = tracehead; tracehead = &trace;
11970 variable0 = param0;
11971 variable1 = NIT_NULL /*null*/;
11972 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11973 variable2 = variable3;
11974 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11975 variable3 = variable4;
11976 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11977 variable4 = variable5;
11978 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11979 variable5 = variable6;
11980 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11981 variable6 = variable7;
11982 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11983 variable7 = variable8;
11984 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
11985 variable8 = variable9;
11986 variable9 = variable8 /*nodearraylist1*/;
11987 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11988 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6230,6--30\n"); nit_exit(1);}
11989 variable10 = variable7 /*nodearraylist2*/;
11990 variable11 = TAG_Bool(( variable10 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable10 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
11991 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6232,6--44\n"); nit_exit(1);}
11992 variable12 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable10 /*tkwwritablenode6*/); /*new AWriteAble*/
11993 variable11 = variable12;
11994 variable12 = variable6 /*nodearraylist3*/;
11995 variable13 = TAG_Bool(( variable12 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11996 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6238,6--38\n"); nit_exit(1);}
11997 variable13 = variable5 /*nodearraylist4*/;
11998 variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11999 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6240,6--44\n"); nit_exit(1);}
12000 variable14 = variable4 /*nodearraylist5*/;
12001 variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12002 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6242,6--36\n"); nit_exit(1);}
12003 variable15 = variable3 /*nodearraylist6*/;
12004 variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12005 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6244,6--37\n"); nit_exit(1);}
12006 variable16 = variable2 /*nodearraylist7*/;
12007 variable17 = TAG_Bool(( variable16 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
12008 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6246,6--33\n"); nit_exit(1);}
12009 variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pablenode4*/, variable12 /*tkwredefnode7*/, variable13 /*pvisibilitynode8*/, variable14 /*tkwattrnode9*/, variable15 /*tattridnode10*/, variable16 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
12010 variable17 = variable18;
12011 variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/;
12012 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12013 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
12014 tracehead = trace.prev;
12015 return;
12016 }
12017 void parser___ReduceAction123___init(val_t self, int* init_table) {
12018 struct trace_t trace = {NULL, "parser::ReduceAction123::init (src/parser//parser.nit:6261,1--4)"};
12019 trace.prev = tracehead; tracehead = &trace;
12020 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction123].i]) return;
12021 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction123].i] = 1;
12022 tracehead = trace.prev;
12023 return;
12024 }
12025 void parser___ReduceAction124___action(val_t self, val_t param0) {
12026 struct trace_t trace = {NULL, "parser::ReduceAction124::action (src/parser//parser.nit:6265,2--6308:34)"};
12027 val_t variable0;
12028 val_t variable1;
12029 val_t variable2;
12030 val_t variable3;
12031 val_t variable4;
12032 val_t variable5;
12033 val_t variable6;
12034 val_t variable7;
12035 val_t variable8;
12036 val_t variable9;
12037 val_t variable10;
12038 val_t variable11;
12039 val_t variable12;
12040 val_t variable13;
12041 val_t variable14;
12042 val_t variable15;
12043 val_t variable16;
12044 val_t variable17;
12045 val_t variable18;
12046 val_t variable19;
12047 val_t variable20;
12048 trace.prev = tracehead; tracehead = &trace;
12049 variable0 = param0;
12050 variable1 = NIT_NULL /*null*/;
12051 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12052 variable2 = variable3;
12053 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12054 variable3 = variable4;
12055 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12056 variable4 = variable5;
12057 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12058 variable5 = variable6;
12059 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12060 variable6 = variable7;
12061 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12062 variable7 = variable8;
12063 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12064 variable8 = variable9;
12065 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12066 variable9 = variable10;
12067 variable10 = variable9 /*nodearraylist1*/;
12068 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12069 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6277,6--30\n"); nit_exit(1);}
12070 variable11 = variable8 /*nodearraylist2*/;
12071 variable12 = TAG_Bool(( variable11 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12072 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6279,6--38\n"); nit_exit(1);}
12073 variable12 = variable7 /*nodearraylist3*/;
12074 variable13 = TAG_Bool(( variable12 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12075 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6281,6--44\n"); nit_exit(1);}
12076 variable14 = NEW_parser_prod___AWriteAble___init_awriteable( variable11 /*tkwredefnode5*/, variable12 /*tkwwritablenode6*/); /*new AWriteAble*/
12077 variable13 = variable14;
12078 variable14 = variable6 /*nodearraylist4*/;
12079 variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12080 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6287,6--38\n"); nit_exit(1);}
12081 variable15 = variable5 /*nodearraylist5*/;
12082 variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12083 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6289,6--44\n"); nit_exit(1);}
12084 variable16 = variable4 /*nodearraylist6*/;
12085 variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12086 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6291,6--36\n"); nit_exit(1);}
12087 variable17 = variable3 /*nodearraylist7*/;
12088 variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12089 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6293,6--37\n"); nit_exit(1);}
12090 variable18 = variable2 /*nodearraylist8*/;
12091 variable19 = TAG_Bool(( variable18 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable18 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
12092 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6295,6--33\n"); nit_exit(1);}
12093 variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable13 /*pablenode4*/, variable14 /*tkwredefnode7*/, variable15 /*pvisibilitynode8*/, variable16 /*tkwattrnode9*/, variable17 /*tattridnode10*/, variable18 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
12094 variable19 = variable20;
12095 variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/;
12096 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12097 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
12098 tracehead = trace.prev;
12099 return;
12100 }
12101 void parser___ReduceAction124___init(val_t self, int* init_table) {
12102 struct trace_t trace = {NULL, "parser::ReduceAction124::init (src/parser//parser.nit:6310,1--4)"};
12103 trace.prev = tracehead; tracehead = &trace;
12104 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction124].i]) return;
12105 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction124].i] = 1;
12106 tracehead = trace.prev;
12107 return;
12108 }
12109 void parser___ReduceAction125___action(val_t self, val_t param0) {
12110 struct trace_t trace = {NULL, "parser::ReduceAction125::action (src/parser//parser.nit:6314,2--6347:34)"};
12111 val_t variable0;
12112 val_t variable1;
12113 val_t variable2;
12114 val_t variable3;
12115 val_t variable4;
12116 val_t variable5;
12117 val_t variable6;
12118 val_t variable7;
12119 val_t variable8;
12120 val_t variable9;
12121 val_t variable10;
12122 val_t variable11;
12123 val_t variable12;
12124 val_t variable13;
12125 val_t variable14;
12126 val_t variable15;
12127 trace.prev = tracehead; tracehead = &trace;
12128 variable0 = param0;
12129 variable1 = NIT_NULL /*null*/;
12130 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12131 variable2 = variable3;
12132 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12133 variable3 = variable4;
12134 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12135 variable4 = variable5;
12136 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12137 variable5 = variable6;
12138 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12139 variable6 = variable7;
12140 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12141 variable7 = variable8;
12142 variable8 = variable7 /*nodearraylist1*/;
12143 variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12144 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6324,6--30\n"); nit_exit(1);}
12145 variable9 = variable6 /*nodearraylist2*/;
12146 variable10 = TAG_Bool(( variable9 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12147 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6326,6--38\n"); nit_exit(1);}
12148 variable10 = variable5 /*nodearraylist3*/;
12149 variable11 = TAG_Bool(( variable10 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12150 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6328,6--44\n"); nit_exit(1);}
12151 variable11 = variable4 /*nodearraylist4*/;
12152 variable12 = TAG_Bool(( variable11 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12153 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6330,6--36\n"); nit_exit(1);}
12154 variable12 = variable3 /*nodearraylist5*/;
12155 variable13 = TAG_Bool(( variable12 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable12 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12156 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6332,6--36\n"); nit_exit(1);}
12157 variable13 = variable2 /*nodearraylist6*/;
12158 variable14 = TAG_Bool(( variable13 /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable13 /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
12159 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6334,6--32\n"); nit_exit(1);}
12160 variable15 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable9 /*tkwredefnode5*/, variable10 /*pvisibilitynode6*/, variable11 /*tkwattrnode7*/, variable12 /*tattridnode8*/, variable13 /*ptypenode9*/, NIT_NULL /*null*/); /*new AAttrPropdef*/
12161 variable14 = variable15;
12162 variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/;
12163 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12164 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
12165 tracehead = trace.prev;
12166 return;
12167 }
12168 void parser___ReduceAction125___init(val_t self, int* init_table) {
12169 struct trace_t trace = {NULL, "parser::ReduceAction125::init (src/parser//parser.nit:6349,1--4)"};
12170 trace.prev = tracehead; tracehead = &trace;
12171 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction125].i]) return;
12172 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction125].i] = 1;
12173 tracehead = trace.prev;
12174 return;
12175 }
12176 void parser___ReduceAction126___action(val_t self, val_t param0) {
12177 struct trace_t trace = {NULL, "parser::ReduceAction126::action (src/parser//parser.nit:6353,2--6399:34)"};
12178 val_t variable0;
12179 val_t variable1;
12180 val_t variable2;
12181 val_t variable3;
12182 val_t variable4;
12183 val_t variable5;
12184 val_t variable6;
12185 val_t variable7;
12186 val_t variable8;
12187 val_t variable9;
12188 val_t variable10;
12189 val_t variable11;
12190 val_t variable12;
12191 val_t variable13;
12192 val_t variable14;
12193 val_t variable15;
12194 val_t variable16;
12195 val_t variable17;
12196 val_t variable18;
12197 val_t variable19;
12198 val_t variable20;
12199 val_t variable21;
12200 trace.prev = tracehead; tracehead = &trace;
12201 variable0 = param0;
12202 variable1 = NIT_NULL /*null*/;
12203 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12204 variable2 = variable3;
12205 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12206 variable3 = variable4;
12207 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12208 variable4 = variable5;
12209 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12210 variable5 = variable6;
12211 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12212 variable6 = variable7;
12213 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12214 variable7 = variable8;
12215 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12216 variable8 = variable9;
12217 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12218 variable9 = variable10;
12219 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12220 variable10 = variable11;
12221 variable11 = variable10 /*nodearraylist1*/;
12222 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12223 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6366,6--30\n"); nit_exit(1);}
12224 variable12 = variable9 /*nodearraylist2*/;
12225 variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12226 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6368,6--44\n"); nit_exit(1);}
12227 variable14 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/
12228 variable13 = variable14;
12229 variable14 = variable8 /*nodearraylist3*/;
12230 variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12231 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6374,6--44\n"); nit_exit(1);}
12232 variable16 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable14 /*tkwwritablenode8*/); /*new AWriteAble*/
12233 variable15 = variable16;
12234 variable16 = variable7 /*nodearraylist4*/;
12235 variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12236 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6380,6--45\n"); nit_exit(1);}
12237 variable17 = variable6 /*nodearraylist5*/;
12238 variable18 = TAG_Bool(( variable17 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12239 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6382,6--37\n"); nit_exit(1);}
12240 variable18 = variable5 /*nodearraylist6*/;
12241 variable19 = TAG_Bool(( variable18 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12242 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6384,6--37\n"); nit_exit(1);}
12243 variable19 = variable2 /*nodearraylist9*/;
12244 variable20 = TAG_Bool(( variable19 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable19 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12245 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6386,6--33\n"); nit_exit(1);}
12246 variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable13 /*pablenode3*/, variable15 /*pablenode6*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode10*/, variable17 /*tkwattrnode11*/, variable18 /*tattridnode12*/, NIT_NULL /*null*/, variable19 /*pexprnode14*/); /*new AAttrPropdef*/
12247 variable20 = variable21;
12248 variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/;
12249 variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12250 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/;
12251 tracehead = trace.prev;
12252 return;
12253 }
12254 void parser___ReduceAction126___init(val_t self, int* init_table) {
12255 struct trace_t trace = {NULL, "parser::ReduceAction126::init (src/parser//parser.nit:6401,1--4)"};
12256 trace.prev = tracehead; tracehead = &trace;
12257 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction126].i]) return;
12258 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction126].i] = 1;
12259 tracehead = trace.prev;
12260 return;
12261 }
12262 void parser___ReduceAction127___action(val_t self, val_t param0) {
12263 struct trace_t trace = {NULL, "parser::ReduceAction127::action (src/parser//parser.nit:6405,2--6454:34)"};
12264 val_t variable0;
12265 val_t variable1;
12266 val_t variable2;
12267 val_t variable3;
12268 val_t variable4;
12269 val_t variable5;
12270 val_t variable6;
12271 val_t variable7;
12272 val_t variable8;
12273 val_t variable9;
12274 val_t variable10;
12275 val_t variable11;
12276 val_t variable12;
12277 val_t variable13;
12278 val_t variable14;
12279 val_t variable15;
12280 val_t variable16;
12281 val_t variable17;
12282 val_t variable18;
12283 val_t variable19;
12284 val_t variable20;
12285 val_t variable21;
12286 val_t variable22;
12287 val_t variable23;
12288 trace.prev = tracehead; tracehead = &trace;
12289 variable0 = param0;
12290 variable1 = NIT_NULL /*null*/;
12291 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12292 variable2 = variable3;
12293 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12294 variable3 = variable4;
12295 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12296 variable4 = variable5;
12297 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12298 variable5 = variable6;
12299 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12300 variable6 = variable7;
12301 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12302 variable7 = variable8;
12303 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12304 variable8 = variable9;
12305 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12306 variable9 = variable10;
12307 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12308 variable10 = variable11;
12309 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12310 variable11 = variable12;
12311 variable12 = variable11 /*nodearraylist1*/;
12312 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12313 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6419,6--30\n"); nit_exit(1);}
12314 variable13 = variable10 /*nodearraylist2*/;
12315 variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12316 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6421,6--44\n"); nit_exit(1);}
12317 variable15 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/
12318 variable14 = variable15;
12319 variable15 = variable9 /*nodearraylist3*/;
12320 variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12321 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6427,6--38\n"); nit_exit(1);}
12322 variable16 = variable8 /*nodearraylist4*/;
12323 variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12324 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6429,6--44\n"); nit_exit(1);}
12325 variable18 = NEW_parser_prod___AWriteAble___init_awriteable( variable15 /*tkwredefnode7*/, variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
12326 variable17 = variable18;
12327 variable18 = variable7 /*nodearraylist5*/;
12328 variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12329 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6435,6--45\n"); nit_exit(1);}
12330 variable19 = variable6 /*nodearraylist6*/;
12331 variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12332 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6437,6--37\n"); nit_exit(1);}
12333 variable20 = variable5 /*nodearraylist7*/;
12334 variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12335 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6439,6--37\n"); nit_exit(1);}
12336 variable21 = variable2 /*nodearraylist10*/;
12337 variable22 = TAG_Bool(( variable21 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable21 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12338 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6441,6--33\n"); nit_exit(1);}
12339 variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable14 /*pablenode3*/, variable17 /*pablenode6*/, NIT_NULL /*null*/, variable18 /*pvisibilitynode10*/, variable19 /*tkwattrnode11*/, variable20 /*tattridnode12*/, NIT_NULL /*null*/, variable21 /*pexprnode14*/); /*new AAttrPropdef*/
12340 variable22 = variable23;
12341 variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/;
12342 variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12343 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/;
12344 tracehead = trace.prev;
12345 return;
12346 }
12347 void parser___ReduceAction127___init(val_t self, int* init_table) {
12348 struct trace_t trace = {NULL, "parser::ReduceAction127::init (src/parser//parser.nit:6456,1--4)"};
12349 trace.prev = tracehead; tracehead = &trace;
12350 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction127].i]) return;
12351 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction127].i] = 1;
12352 tracehead = trace.prev;
12353 return;
12354 }
12355 void parser___ReduceAction128___action(val_t self, val_t param0) {
12356 struct trace_t trace = {NULL, "parser::ReduceAction128::action (src/parser//parser.nit:6460,2--6499:34)"};
12357 val_t variable0;
12358 val_t variable1;
12359 val_t variable2;
12360 val_t variable3;
12361 val_t variable4;
12362 val_t variable5;
12363 val_t variable6;
12364 val_t variable7;
12365 val_t variable8;
12366 val_t variable9;
12367 val_t variable10;
12368 val_t variable11;
12369 val_t variable12;
12370 val_t variable13;
12371 val_t variable14;
12372 val_t variable15;
12373 val_t variable16;
12374 val_t variable17;
12375 val_t variable18;
12376 trace.prev = tracehead; tracehead = &trace;
12377 variable0 = param0;
12378 variable1 = NIT_NULL /*null*/;
12379 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12380 variable2 = variable3;
12381 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12382 variable3 = variable4;
12383 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12384 variable4 = variable5;
12385 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12386 variable5 = variable6;
12387 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12388 variable6 = variable7;
12389 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12390 variable7 = variable8;
12391 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12392 variable8 = variable9;
12393 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12394 variable9 = variable10;
12395 variable10 = variable9 /*nodearraylist1*/;
12396 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12397 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6472,6--30\n"); nit_exit(1);}
12398 variable11 = variable8 /*nodearraylist2*/;
12399 variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12400 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6474,6--44\n"); nit_exit(1);}
12401 variable13 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/
12402 variable12 = variable13;
12403 variable13 = variable7 /*nodearraylist3*/;
12404 variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12405 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6480,6--44\n"); nit_exit(1);}
12406 variable14 = variable6 /*nodearraylist4*/;
12407 variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12408 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6482,6--36\n"); nit_exit(1);}
12409 variable15 = variable5 /*nodearraylist5*/;
12410 variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12411 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6484,6--37\n"); nit_exit(1);}
12412 variable16 = variable2 /*nodearraylist8*/;
12413 variable17 = TAG_Bool(( variable16 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12414 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6486,6--33\n"); nit_exit(1);}
12415 variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable12 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable13 /*pvisibilitynode8*/, variable14 /*tkwattrnode9*/, variable15 /*tattridnode10*/, NIT_NULL /*null*/, variable16 /*pexprnode12*/); /*new AAttrPropdef*/
12416 variable17 = variable18;
12417 variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/;
12418 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12419 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
12420 tracehead = trace.prev;
12421 return;
12422 }
12423 void parser___ReduceAction128___init(val_t self, int* init_table) {
12424 struct trace_t trace = {NULL, "parser::ReduceAction128::init (src/parser//parser.nit:6501,1--4)"};
12425 trace.prev = tracehead; tracehead = &trace;
12426 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction128].i]) return;
12427 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction128].i] = 1;
12428 tracehead = trace.prev;
12429 return;
12430 }
12431 void parser___ReduceAction129___action(val_t self, val_t param0) {
12432 struct trace_t trace = {NULL, "parser::ReduceAction129::action (src/parser//parser.nit:6505,2--6554:34)"};
12433 val_t variable0;
12434 val_t variable1;
12435 val_t variable2;
12436 val_t variable3;
12437 val_t variable4;
12438 val_t variable5;
12439 val_t variable6;
12440 val_t variable7;
12441 val_t variable8;
12442 val_t variable9;
12443 val_t variable10;
12444 val_t variable11;
12445 val_t variable12;
12446 val_t variable13;
12447 val_t variable14;
12448 val_t variable15;
12449 val_t variable16;
12450 val_t variable17;
12451 val_t variable18;
12452 val_t variable19;
12453 val_t variable20;
12454 val_t variable21;
12455 val_t variable22;
12456 val_t variable23;
12457 trace.prev = tracehead; tracehead = &trace;
12458 variable0 = param0;
12459 variable1 = NIT_NULL /*null*/;
12460 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12461 variable2 = variable3;
12462 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12463 variable3 = variable4;
12464 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12465 variable4 = variable5;
12466 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12467 variable5 = variable6;
12468 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12469 variable6 = variable7;
12470 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12471 variable7 = variable8;
12472 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12473 variable8 = variable9;
12474 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12475 variable9 = variable10;
12476 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12477 variable10 = variable11;
12478 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12479 variable11 = variable12;
12480 variable12 = variable11 /*nodearraylist1*/;
12481 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12482 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6519,6--30\n"); nit_exit(1);}
12483 variable13 = variable10 /*nodearraylist2*/;
12484 variable14 = TAG_Bool(( variable13 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12485 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6521,6--38\n"); nit_exit(1);}
12486 variable14 = variable9 /*nodearraylist3*/;
12487 variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12488 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6523,6--44\n"); nit_exit(1);}
12489 variable16 = NEW_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/
12490 variable15 = variable16;
12491 variable16 = variable8 /*nodearraylist4*/;
12492 variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12493 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6529,6--44\n"); nit_exit(1);}
12494 variable18 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
12495 variable17 = variable18;
12496 variable18 = variable7 /*nodearraylist5*/;
12497 variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12498 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6535,6--45\n"); nit_exit(1);}
12499 variable19 = variable6 /*nodearraylist6*/;
12500 variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12501 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6537,6--37\n"); nit_exit(1);}
12502 variable20 = variable5 /*nodearraylist7*/;
12503 variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12504 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6539,6--37\n"); nit_exit(1);}
12505 variable21 = variable2 /*nodearraylist10*/;
12506 variable22 = TAG_Bool(( variable21 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable21 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12507 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6541,6--33\n"); nit_exit(1);}
12508 variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable15 /*pablenode3*/, variable17 /*pablenode6*/, NIT_NULL /*null*/, variable18 /*pvisibilitynode10*/, variable19 /*tkwattrnode11*/, variable20 /*tattridnode12*/, NIT_NULL /*null*/, variable21 /*pexprnode14*/); /*new AAttrPropdef*/
12509 variable22 = variable23;
12510 variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/;
12511 variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12512 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/;
12513 tracehead = trace.prev;
12514 return;
12515 }
12516 void parser___ReduceAction129___init(val_t self, int* init_table) {
12517 struct trace_t trace = {NULL, "parser::ReduceAction129::init (src/parser//parser.nit:6556,1--4)"};
12518 trace.prev = tracehead; tracehead = &trace;
12519 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction129].i]) return;
12520 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction129].i] = 1;
12521 tracehead = trace.prev;
12522 return;
12523 }
12524 void parser___ReduceAction130___action(val_t self, val_t param0) {
12525 struct trace_t trace = {NULL, "parser::ReduceAction130::action (src/parser//parser.nit:6560,2--6612:34)"};
12526 val_t variable0;
12527 val_t variable1;
12528 val_t variable2;
12529 val_t variable3;
12530 val_t variable4;
12531 val_t variable5;
12532 val_t variable6;
12533 val_t variable7;
12534 val_t variable8;
12535 val_t variable9;
12536 val_t variable10;
12537 val_t variable11;
12538 val_t variable12;
12539 val_t variable13;
12540 val_t variable14;
12541 val_t variable15;
12542 val_t variable16;
12543 val_t variable17;
12544 val_t variable18;
12545 val_t variable19;
12546 val_t variable20;
12547 val_t variable21;
12548 val_t variable22;
12549 val_t variable23;
12550 val_t variable24;
12551 val_t variable25;
12552 trace.prev = tracehead; tracehead = &trace;
12553 variable0 = param0;
12554 variable1 = NIT_NULL /*null*/;
12555 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12556 variable2 = variable3;
12557 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12558 variable3 = variable4;
12559 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12560 variable4 = variable5;
12561 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12562 variable5 = variable6;
12563 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12564 variable6 = variable7;
12565 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12566 variable7 = variable8;
12567 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12568 variable8 = variable9;
12569 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12570 variable9 = variable10;
12571 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12572 variable10 = variable11;
12573 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12574 variable11 = variable12;
12575 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12576 variable12 = variable13;
12577 variable13 = variable12 /*nodearraylist1*/;
12578 variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12579 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6575,6--30\n"); nit_exit(1);}
12580 variable14 = variable11 /*nodearraylist2*/;
12581 variable15 = TAG_Bool(( variable14 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12582 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6577,6--38\n"); nit_exit(1);}
12583 variable15 = variable10 /*nodearraylist3*/;
12584 variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12585 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6579,6--44\n"); nit_exit(1);}
12586 variable17 = NEW_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/, variable15 /*tkwreadablenode5*/); /*new AReadAble*/
12587 variable16 = variable17;
12588 variable17 = variable9 /*nodearraylist4*/;
12589 variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12590 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6585,6--38\n"); nit_exit(1);}
12591 variable18 = variable8 /*nodearraylist5*/;
12592 variable19 = TAG_Bool(( variable18 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable18 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12593 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6587,6--44\n"); nit_exit(1);}
12594 variable20 = NEW_parser_prod___AWriteAble___init_awriteable( variable17 /*tkwredefnode7*/, variable18 /*tkwwritablenode8*/); /*new AWriteAble*/
12595 variable19 = variable20;
12596 variable20 = variable7 /*nodearraylist6*/;
12597 variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12598 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6593,6--45\n"); nit_exit(1);}
12599 variable21 = variable6 /*nodearraylist7*/;
12600 variable22 = TAG_Bool(( variable21 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable21 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12601 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6595,6--37\n"); nit_exit(1);}
12602 variable22 = variable5 /*nodearraylist8*/;
12603 variable23 = TAG_Bool(( variable22 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable22 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12604 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6597,6--37\n"); nit_exit(1);}
12605 variable23 = variable2 /*nodearraylist11*/;
12606 variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12607 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6599,6--33\n"); nit_exit(1);}
12608 variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable16 /*pablenode3*/, variable19 /*pablenode6*/, NIT_NULL /*null*/, variable20 /*pvisibilitynode10*/, variable21 /*tkwattrnode11*/, variable22 /*tattridnode12*/, NIT_NULL /*null*/, variable23 /*pexprnode14*/); /*new AAttrPropdef*/
12609 variable24 = variable25;
12610 variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/;
12611 variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12612 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/;
12613 tracehead = trace.prev;
12614 return;
12615 }
12616 void parser___ReduceAction130___init(val_t self, int* init_table) {
12617 struct trace_t trace = {NULL, "parser::ReduceAction130::init (src/parser//parser.nit:6614,1--4)"};
12618 trace.prev = tracehead; tracehead = &trace;
12619 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction130].i]) return;
12620 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction130].i] = 1;
12621 tracehead = trace.prev;
12622 return;
12623 }
12624 void parser___ReduceAction131___action(val_t self, val_t param0) {
12625 struct trace_t trace = {NULL, "parser::ReduceAction131::action (src/parser//parser.nit:6618,2--6660:34)"};
12626 val_t variable0;
12627 val_t variable1;
12628 val_t variable2;
12629 val_t variable3;
12630 val_t variable4;
12631 val_t variable5;
12632 val_t variable6;
12633 val_t variable7;
12634 val_t variable8;
12635 val_t variable9;
12636 val_t variable10;
12637 val_t variable11;
12638 val_t variable12;
12639 val_t variable13;
12640 val_t variable14;
12641 val_t variable15;
12642 val_t variable16;
12643 val_t variable17;
12644 val_t variable18;
12645 val_t variable19;
12646 val_t variable20;
12647 trace.prev = tracehead; tracehead = &trace;
12648 variable0 = param0;
12649 variable1 = NIT_NULL /*null*/;
12650 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12651 variable2 = variable3;
12652 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12653 variable3 = variable4;
12654 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12655 variable4 = variable5;
12656 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12657 variable5 = variable6;
12658 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12659 variable6 = variable7;
12660 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12661 variable7 = variable8;
12662 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12663 variable8 = variable9;
12664 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12665 variable9 = variable10;
12666 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12667 variable10 = variable11;
12668 variable11 = variable10 /*nodearraylist1*/;
12669 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12670 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6631,6--30\n"); nit_exit(1);}
12671 variable12 = variable9 /*nodearraylist2*/;
12672 variable13 = TAG_Bool(( variable12 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12673 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6633,6--38\n"); nit_exit(1);}
12674 variable13 = variable8 /*nodearraylist3*/;
12675 variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12676 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6635,6--44\n"); nit_exit(1);}
12677 variable15 = NEW_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/
12678 variable14 = variable15;
12679 variable15 = variable7 /*nodearraylist4*/;
12680 variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12681 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6641,6--44\n"); nit_exit(1);}
12682 variable16 = variable6 /*nodearraylist5*/;
12683 variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12684 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6643,6--36\n"); nit_exit(1);}
12685 variable17 = variable5 /*nodearraylist6*/;
12686 variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12687 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6645,6--37\n"); nit_exit(1);}
12688 variable18 = variable2 /*nodearraylist9*/;
12689 variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12690 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6647,6--33\n"); nit_exit(1);}
12691 variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable14 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable15 /*pvisibilitynode8*/, variable16 /*tkwattrnode9*/, variable17 /*tattridnode10*/, NIT_NULL /*null*/, variable18 /*pexprnode12*/); /*new AAttrPropdef*/
12692 variable19 = variable20;
12693 variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/;
12694 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12695 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
12696 tracehead = trace.prev;
12697 return;
12698 }
12699 void parser___ReduceAction131___init(val_t self, int* init_table) {
12700 struct trace_t trace = {NULL, "parser::ReduceAction131::init (src/parser//parser.nit:6662,1--4)"};
12701 trace.prev = tracehead; tracehead = &trace;
12702 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction131].i]) return;
12703 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction131].i] = 1;
12704 tracehead = trace.prev;
12705 return;
12706 }
12707 void parser___ReduceAction132___action(val_t self, val_t param0) {
12708 struct trace_t trace = {NULL, "parser::ReduceAction132::action (src/parser//parser.nit:6666,2--6705:34)"};
12709 val_t variable0;
12710 val_t variable1;
12711 val_t variable2;
12712 val_t variable3;
12713 val_t variable4;
12714 val_t variable5;
12715 val_t variable6;
12716 val_t variable7;
12717 val_t variable8;
12718 val_t variable9;
12719 val_t variable10;
12720 val_t variable11;
12721 val_t variable12;
12722 val_t variable13;
12723 val_t variable14;
12724 val_t variable15;
12725 val_t variable16;
12726 val_t variable17;
12727 val_t variable18;
12728 trace.prev = tracehead; tracehead = &trace;
12729 variable0 = param0;
12730 variable1 = NIT_NULL /*null*/;
12731 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12732 variable2 = variable3;
12733 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12734 variable3 = variable4;
12735 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12736 variable4 = variable5;
12737 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12738 variable5 = variable6;
12739 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12740 variable6 = variable7;
12741 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12742 variable7 = variable8;
12743 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12744 variable8 = variable9;
12745 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12746 variable9 = variable10;
12747 variable10 = variable9 /*nodearraylist1*/;
12748 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12749 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6678,6--30\n"); nit_exit(1);}
12750 variable11 = variable8 /*nodearraylist2*/;
12751 variable12 = TAG_Bool(( variable11 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable11 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12752 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6680,6--44\n"); nit_exit(1);}
12753 variable13 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable11 /*tkwwritablenode6*/); /*new AWriteAble*/
12754 variable12 = variable13;
12755 variable13 = variable7 /*nodearraylist3*/;
12756 variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12757 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6686,6--44\n"); nit_exit(1);}
12758 variable14 = variable6 /*nodearraylist4*/;
12759 variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12760 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6688,6--36\n"); nit_exit(1);}
12761 variable15 = variable5 /*nodearraylist5*/;
12762 variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12763 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6690,6--37\n"); nit_exit(1);}
12764 variable16 = variable2 /*nodearraylist8*/;
12765 variable17 = TAG_Bool(( variable16 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12766 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6692,6--33\n"); nit_exit(1);}
12767 variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable12 /*pablenode4*/, NIT_NULL /*null*/, variable13 /*pvisibilitynode8*/, variable14 /*tkwattrnode9*/, variable15 /*tattridnode10*/, NIT_NULL /*null*/, variable16 /*pexprnode12*/); /*new AAttrPropdef*/
12768 variable17 = variable18;
12769 variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/;
12770 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12771 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
12772 tracehead = trace.prev;
12773 return;
12774 }
12775 void parser___ReduceAction132___init(val_t self, int* init_table) {
12776 struct trace_t trace = {NULL, "parser::ReduceAction132::init (src/parser//parser.nit:6707,1--4)"};
12777 trace.prev = tracehead; tracehead = &trace;
12778 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction132].i]) return;
12779 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction132].i] = 1;
12780 tracehead = trace.prev;
12781 return;
12782 }
12783 void parser___ReduceAction133___action(val_t self, val_t param0) {
12784 struct trace_t trace = {NULL, "parser::ReduceAction133::action (src/parser//parser.nit:6711,2--6753:34)"};
12785 val_t variable0;
12786 val_t variable1;
12787 val_t variable2;
12788 val_t variable3;
12789 val_t variable4;
12790 val_t variable5;
12791 val_t variable6;
12792 val_t variable7;
12793 val_t variable8;
12794 val_t variable9;
12795 val_t variable10;
12796 val_t variable11;
12797 val_t variable12;
12798 val_t variable13;
12799 val_t variable14;
12800 val_t variable15;
12801 val_t variable16;
12802 val_t variable17;
12803 val_t variable18;
12804 val_t variable19;
12805 val_t variable20;
12806 trace.prev = tracehead; tracehead = &trace;
12807 variable0 = param0;
12808 variable1 = NIT_NULL /*null*/;
12809 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12810 variable2 = variable3;
12811 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12812 variable3 = variable4;
12813 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12814 variable4 = variable5;
12815 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12816 variable5 = variable6;
12817 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12818 variable6 = variable7;
12819 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12820 variable7 = variable8;
12821 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12822 variable8 = variable9;
12823 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12824 variable9 = variable10;
12825 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12826 variable10 = variable11;
12827 variable11 = variable10 /*nodearraylist1*/;
12828 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12829 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6724,6--30\n"); nit_exit(1);}
12830 variable12 = variable9 /*nodearraylist2*/;
12831 variable13 = TAG_Bool(( variable12 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12832 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6726,6--38\n"); nit_exit(1);}
12833 variable13 = variable8 /*nodearraylist3*/;
12834 variable14 = TAG_Bool(( variable13 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12835 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6728,6--44\n"); nit_exit(1);}
12836 variable15 = NEW_parser_prod___AWriteAble___init_awriteable( variable12 /*tkwredefnode5*/, variable13 /*tkwwritablenode6*/); /*new AWriteAble*/
12837 variable14 = variable15;
12838 variable15 = variable7 /*nodearraylist4*/;
12839 variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12840 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6734,6--44\n"); nit_exit(1);}
12841 variable16 = variable6 /*nodearraylist5*/;
12842 variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12843 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6736,6--36\n"); nit_exit(1);}
12844 variable17 = variable5 /*nodearraylist6*/;
12845 variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12846 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6738,6--37\n"); nit_exit(1);}
12847 variable18 = variable2 /*nodearraylist9*/;
12848 variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12849 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6740,6--33\n"); nit_exit(1);}
12850 variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, NIT_NULL /*null*/, variable14 /*pablenode4*/, NIT_NULL /*null*/, variable15 /*pvisibilitynode8*/, variable16 /*tkwattrnode9*/, variable17 /*tattridnode10*/, NIT_NULL /*null*/, variable18 /*pexprnode12*/); /*new AAttrPropdef*/
12851 variable19 = variable20;
12852 variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/;
12853 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12854 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
12855 tracehead = trace.prev;
12856 return;
12857 }
12858 void parser___ReduceAction133___init(val_t self, int* init_table) {
12859 struct trace_t trace = {NULL, "parser::ReduceAction133::init (src/parser//parser.nit:6755,1--4)"};
12860 trace.prev = tracehead; tracehead = &trace;
12861 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction133].i]) return;
12862 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction133].i] = 1;
12863 tracehead = trace.prev;
12864 return;
12865 }
12866 void parser___ReduceAction134___action(val_t self, val_t param0) {
12867 struct trace_t trace = {NULL, "parser::ReduceAction134::action (src/parser//parser.nit:6759,2--6791:34)"};
12868 val_t variable0;
12869 val_t variable1;
12870 val_t variable2;
12871 val_t variable3;
12872 val_t variable4;
12873 val_t variable5;
12874 val_t variable6;
12875 val_t variable7;
12876 val_t variable8;
12877 val_t variable9;
12878 val_t variable10;
12879 val_t variable11;
12880 val_t variable12;
12881 val_t variable13;
12882 val_t variable14;
12883 val_t variable15;
12884 trace.prev = tracehead; tracehead = &trace;
12885 variable0 = param0;
12886 variable1 = NIT_NULL /*null*/;
12887 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12888 variable2 = variable3;
12889 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12890 variable3 = variable4;
12891 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12892 variable4 = variable5;
12893 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12894 variable5 = variable6;
12895 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12896 variable6 = variable7;
12897 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12898 variable7 = variable8;
12899 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12900 variable8 = variable9;
12901 variable9 = variable8 /*nodearraylist1*/;
12902 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12903 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6770,6--30\n"); nit_exit(1);}
12904 variable10 = variable7 /*nodearraylist2*/;
12905 variable11 = TAG_Bool(( variable10 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12906 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6772,6--44\n"); nit_exit(1);}
12907 variable11 = variable6 /*nodearraylist3*/;
12908 variable12 = TAG_Bool(( variable11 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
12909 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6774,6--36\n"); nit_exit(1);}
12910 variable12 = variable5 /*nodearraylist4*/;
12911 variable13 = TAG_Bool(( variable12 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable12 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
12912 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6776,6--36\n"); nit_exit(1);}
12913 variable13 = variable2 /*nodearraylist7*/;
12914 variable14 = TAG_Bool(( variable13 /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12915 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6778,6--33\n"); nit_exit(1);}
12916 variable15 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode6*/, variable11 /*tkwattrnode7*/, variable12 /*tattridnode8*/, NIT_NULL /*null*/, variable13 /*pexprnode10*/); /*new AAttrPropdef*/
12917 variable14 = variable15;
12918 variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/;
12919 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12920 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
12921 tracehead = trace.prev;
12922 return;
12923 }
12924 void parser___ReduceAction134___init(val_t self, int* init_table) {
12925 struct trace_t trace = {NULL, "parser::ReduceAction134::init (src/parser//parser.nit:6793,1--4)"};
12926 trace.prev = tracehead; tracehead = &trace;
12927 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction134].i]) return;
12928 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction134].i] = 1;
12929 tracehead = trace.prev;
12930 return;
12931 }
12932 void parser___ReduceAction135___action(val_t self, val_t param0) {
12933 struct trace_t trace = {NULL, "parser::ReduceAction135::action (src/parser//parser.nit:6797,2--6846:34)"};
12934 val_t variable0;
12935 val_t variable1;
12936 val_t variable2;
12937 val_t variable3;
12938 val_t variable4;
12939 val_t variable5;
12940 val_t variable6;
12941 val_t variable7;
12942 val_t variable8;
12943 val_t variable9;
12944 val_t variable10;
12945 val_t variable11;
12946 val_t variable12;
12947 val_t variable13;
12948 val_t variable14;
12949 val_t variable15;
12950 val_t variable16;
12951 val_t variable17;
12952 val_t variable18;
12953 val_t variable19;
12954 val_t variable20;
12955 val_t variable21;
12956 val_t variable22;
12957 val_t variable23;
12958 trace.prev = tracehead; tracehead = &trace;
12959 variable0 = param0;
12960 variable1 = NIT_NULL /*null*/;
12961 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12962 variable2 = variable3;
12963 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12964 variable3 = variable4;
12965 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12966 variable4 = variable5;
12967 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12968 variable5 = variable6;
12969 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12970 variable6 = variable7;
12971 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12972 variable7 = variable8;
12973 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12974 variable8 = variable9;
12975 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12976 variable9 = variable10;
12977 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12978 variable10 = variable11;
12979 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
12980 variable11 = variable12;
12981 variable12 = variable11 /*nodearraylist1*/;
12982 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12983 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6811,6--30\n"); nit_exit(1);}
12984 variable13 = variable10 /*nodearraylist2*/;
12985 variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
12986 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6813,6--44\n"); nit_exit(1);}
12987 variable15 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/
12988 variable14 = variable15;
12989 variable15 = variable9 /*nodearraylist3*/;
12990 variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
12991 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6819,6--44\n"); nit_exit(1);}
12992 variable17 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
12993 variable16 = variable17;
12994 variable17 = variable8 /*nodearraylist4*/;
12995 variable18 = TAG_Bool(( variable17 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12996 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6825,6--38\n"); nit_exit(1);}
12997 variable18 = variable7 /*nodearraylist5*/;
12998 variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12999 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6827,6--45\n"); nit_exit(1);}
13000 variable19 = variable6 /*nodearraylist6*/;
13001 variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13002 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6829,6--37\n"); nit_exit(1);}
13003 variable20 = variable5 /*nodearraylist7*/;
13004 variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13005 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6831,6--37\n"); nit_exit(1);}
13006 variable21 = variable2 /*nodearraylist10*/;
13007 variable22 = TAG_Bool(( variable21 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable21 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13008 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6833,6--33\n"); nit_exit(1);}
13009 variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable14 /*pablenode3*/, variable16 /*pablenode6*/, variable17 /*tkwredefnode9*/, variable18 /*pvisibilitynode10*/, variable19 /*tkwattrnode11*/, variable20 /*tattridnode12*/, NIT_NULL /*null*/, variable21 /*pexprnode14*/); /*new AAttrPropdef*/
13010 variable22 = variable23;
13011 variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/;
13012 variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13013 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/;
13014 tracehead = trace.prev;
13015 return;
13016 }
13017 void parser___ReduceAction135___init(val_t self, int* init_table) {
13018 struct trace_t trace = {NULL, "parser::ReduceAction135::init (src/parser//parser.nit:6848,1--4)"};
13019 trace.prev = tracehead; tracehead = &trace;
13020 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction135].i]) return;
13021 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction135].i] = 1;
13022 tracehead = trace.prev;
13023 return;
13024 }
13025 void parser___ReduceAction136___action(val_t self, val_t param0) {
13026 struct trace_t trace = {NULL, "parser::ReduceAction136::action (src/parser//parser.nit:6852,2--6904:34)"};
13027 val_t variable0;
13028 val_t variable1;
13029 val_t variable2;
13030 val_t variable3;
13031 val_t variable4;
13032 val_t variable5;
13033 val_t variable6;
13034 val_t variable7;
13035 val_t variable8;
13036 val_t variable9;
13037 val_t variable10;
13038 val_t variable11;
13039 val_t variable12;
13040 val_t variable13;
13041 val_t variable14;
13042 val_t variable15;
13043 val_t variable16;
13044 val_t variable17;
13045 val_t variable18;
13046 val_t variable19;
13047 val_t variable20;
13048 val_t variable21;
13049 val_t variable22;
13050 val_t variable23;
13051 val_t variable24;
13052 val_t variable25;
13053 trace.prev = tracehead; tracehead = &trace;
13054 variable0 = param0;
13055 variable1 = NIT_NULL /*null*/;
13056 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13057 variable2 = variable3;
13058 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13059 variable3 = variable4;
13060 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13061 variable4 = variable5;
13062 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13063 variable5 = variable6;
13064 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13065 variable6 = variable7;
13066 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13067 variable7 = variable8;
13068 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13069 variable8 = variable9;
13070 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13071 variable9 = variable10;
13072 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13073 variable10 = variable11;
13074 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13075 variable11 = variable12;
13076 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13077 variable12 = variable13;
13078 variable13 = variable12 /*nodearraylist1*/;
13079 variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13080 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6867,6--30\n"); nit_exit(1);}
13081 variable14 = variable11 /*nodearraylist2*/;
13082 variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13083 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6869,6--44\n"); nit_exit(1);}
13084 variable16 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/
13085 variable15 = variable16;
13086 variable16 = variable10 /*nodearraylist3*/;
13087 variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13088 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6875,6--38\n"); nit_exit(1);}
13089 variable17 = variable9 /*nodearraylist4*/;
13090 variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13091 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6877,6--44\n"); nit_exit(1);}
13092 variable19 = NEW_parser_prod___AWriteAble___init_awriteable( variable16 /*tkwredefnode7*/, variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
13093 variable18 = variable19;
13094 variable19 = variable8 /*nodearraylist5*/;
13095 variable20 = TAG_Bool(( variable19 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13096 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6883,6--38\n"); nit_exit(1);}
13097 variable20 = variable7 /*nodearraylist6*/;
13098 variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13099 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6885,6--45\n"); nit_exit(1);}
13100 variable21 = variable6 /*nodearraylist7*/;
13101 variable22 = TAG_Bool(( variable21 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable21 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13102 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6887,6--37\n"); nit_exit(1);}
13103 variable22 = variable5 /*nodearraylist8*/;
13104 variable23 = TAG_Bool(( variable22 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable22 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13105 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6889,6--37\n"); nit_exit(1);}
13106 variable23 = variable2 /*nodearraylist11*/;
13107 variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13108 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6891,6--33\n"); nit_exit(1);}
13109 variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable15 /*pablenode3*/, variable18 /*pablenode6*/, variable19 /*tkwredefnode9*/, variable20 /*pvisibilitynode10*/, variable21 /*tkwattrnode11*/, variable22 /*tattridnode12*/, NIT_NULL /*null*/, variable23 /*pexprnode14*/); /*new AAttrPropdef*/
13110 variable24 = variable25;
13111 variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/;
13112 variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13113 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/;
13114 tracehead = trace.prev;
13115 return;
13116 }
13117 void parser___ReduceAction136___init(val_t self, int* init_table) {
13118 struct trace_t trace = {NULL, "parser::ReduceAction136::init (src/parser//parser.nit:6906,1--4)"};
13119 trace.prev = tracehead; tracehead = &trace;
13120 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction136].i]) return;
13121 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction136].i] = 1;
13122 tracehead = trace.prev;
13123 return;
13124 }
13125 void parser___ReduceAction137___action(val_t self, val_t param0) {
13126 struct trace_t trace = {NULL, "parser::ReduceAction137::action (src/parser//parser.nit:6910,2--6952:34)"};
13127 val_t variable0;
13128 val_t variable1;
13129 val_t variable2;
13130 val_t variable3;
13131 val_t variable4;
13132 val_t variable5;
13133 val_t variable6;
13134 val_t variable7;
13135 val_t variable8;
13136 val_t variable9;
13137 val_t variable10;
13138 val_t variable11;
13139 val_t variable12;
13140 val_t variable13;
13141 val_t variable14;
13142 val_t variable15;
13143 val_t variable16;
13144 val_t variable17;
13145 val_t variable18;
13146 val_t variable19;
13147 val_t variable20;
13148 trace.prev = tracehead; tracehead = &trace;
13149 variable0 = param0;
13150 variable1 = NIT_NULL /*null*/;
13151 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13152 variable2 = variable3;
13153 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13154 variable3 = variable4;
13155 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13156 variable4 = variable5;
13157 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13158 variable5 = variable6;
13159 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13160 variable6 = variable7;
13161 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13162 variable7 = variable8;
13163 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13164 variable8 = variable9;
13165 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13166 variable9 = variable10;
13167 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13168 variable10 = variable11;
13169 variable11 = variable10 /*nodearraylist1*/;
13170 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13171 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6923,6--30\n"); nit_exit(1);}
13172 variable12 = variable9 /*nodearraylist2*/;
13173 variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13174 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6925,6--44\n"); nit_exit(1);}
13175 variable14 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/
13176 variable13 = variable14;
13177 variable14 = variable8 /*nodearraylist3*/;
13178 variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13179 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6931,6--38\n"); nit_exit(1);}
13180 variable15 = variable7 /*nodearraylist4*/;
13181 variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13182 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6933,6--44\n"); nit_exit(1);}
13183 variable16 = variable6 /*nodearraylist5*/;
13184 variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13185 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6935,6--36\n"); nit_exit(1);}
13186 variable17 = variable5 /*nodearraylist6*/;
13187 variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13188 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6937,6--37\n"); nit_exit(1);}
13189 variable18 = variable2 /*nodearraylist9*/;
13190 variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13191 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6939,6--33\n"); nit_exit(1);}
13192 variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable13 /*pablenode3*/, NIT_NULL /*null*/, variable14 /*tkwredefnode7*/, variable15 /*pvisibilitynode8*/, variable16 /*tkwattrnode9*/, variable17 /*tattridnode10*/, NIT_NULL /*null*/, variable18 /*pexprnode12*/); /*new AAttrPropdef*/
13193 variable19 = variable20;
13194 variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/;
13195 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13196 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
13197 tracehead = trace.prev;
13198 return;
13199 }
13200 void parser___ReduceAction137___init(val_t self, int* init_table) {
13201 struct trace_t trace = {NULL, "parser::ReduceAction137::init (src/parser//parser.nit:6954,1--4)"};
13202 trace.prev = tracehead; tracehead = &trace;
13203 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction137].i]) return;
13204 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction137].i] = 1;
13205 tracehead = trace.prev;
13206 return;
13207 }
13208 void parser___ReduceAction138___action(val_t self, val_t param0) {
13209 struct trace_t trace = {NULL, "parser::ReduceAction138::action (src/parser//parser.nit:6958,2--7010:34)"};
13210 val_t variable0;
13211 val_t variable1;
13212 val_t variable2;
13213 val_t variable3;
13214 val_t variable4;
13215 val_t variable5;
13216 val_t variable6;
13217 val_t variable7;
13218 val_t variable8;
13219 val_t variable9;
13220 val_t variable10;
13221 val_t variable11;
13222 val_t variable12;
13223 val_t variable13;
13224 val_t variable14;
13225 val_t variable15;
13226 val_t variable16;
13227 val_t variable17;
13228 val_t variable18;
13229 val_t variable19;
13230 val_t variable20;
13231 val_t variable21;
13232 val_t variable22;
13233 val_t variable23;
13234 val_t variable24;
13235 val_t variable25;
13236 trace.prev = tracehead; tracehead = &trace;
13237 variable0 = param0;
13238 variable1 = NIT_NULL /*null*/;
13239 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13240 variable2 = variable3;
13241 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13242 variable3 = variable4;
13243 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13244 variable4 = variable5;
13245 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13246 variable5 = variable6;
13247 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13248 variable6 = variable7;
13249 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13250 variable7 = variable8;
13251 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13252 variable8 = variable9;
13253 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13254 variable9 = variable10;
13255 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13256 variable10 = variable11;
13257 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13258 variable11 = variable12;
13259 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13260 variable12 = variable13;
13261 variable13 = variable12 /*nodearraylist1*/;
13262 variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13263 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6973,6--30\n"); nit_exit(1);}
13264 variable14 = variable11 /*nodearraylist2*/;
13265 variable15 = TAG_Bool(( variable14 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13266 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6975,6--38\n"); nit_exit(1);}
13267 variable15 = variable10 /*nodearraylist3*/;
13268 variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13269 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6977,6--44\n"); nit_exit(1);}
13270 variable17 = NEW_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/, variable15 /*tkwreadablenode5*/); /*new AReadAble*/
13271 variable16 = variable17;
13272 variable17 = variable9 /*nodearraylist4*/;
13273 variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13274 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6983,6--44\n"); nit_exit(1);}
13275 variable19 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
13276 variable18 = variable19;
13277 variable19 = variable8 /*nodearraylist5*/;
13278 variable20 = TAG_Bool(( variable19 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13279 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6989,6--38\n"); nit_exit(1);}
13280 variable20 = variable7 /*nodearraylist6*/;
13281 variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13282 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6991,6--45\n"); nit_exit(1);}
13283 variable21 = variable6 /*nodearraylist7*/;
13284 variable22 = TAG_Bool(( variable21 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable21 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13285 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6993,6--37\n"); nit_exit(1);}
13286 variable22 = variable5 /*nodearraylist8*/;
13287 variable23 = TAG_Bool(( variable22 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable22 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13288 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6995,6--37\n"); nit_exit(1);}
13289 variable23 = variable2 /*nodearraylist11*/;
13290 variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13291 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6997,6--33\n"); nit_exit(1);}
13292 variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable16 /*pablenode3*/, variable18 /*pablenode6*/, variable19 /*tkwredefnode9*/, variable20 /*pvisibilitynode10*/, variable21 /*tkwattrnode11*/, variable22 /*tattridnode12*/, NIT_NULL /*null*/, variable23 /*pexprnode14*/); /*new AAttrPropdef*/
13293 variable24 = variable25;
13294 variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/;
13295 variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13296 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/;
13297 tracehead = trace.prev;
13298 return;
13299 }
13300 void parser___ReduceAction138___init(val_t self, int* init_table) {
13301 struct trace_t trace = {NULL, "parser::ReduceAction138::init (src/parser//parser.nit:7012,1--4)"};
13302 trace.prev = tracehead; tracehead = &trace;
13303 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction138].i]) return;
13304 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction138].i] = 1;
13305 tracehead = trace.prev;
13306 return;
13307 }
13308 void parser___ReduceAction139___action(val_t self, val_t param0) {
13309 struct trace_t trace = {NULL, "parser::ReduceAction139::action (src/parser//parser.nit:7016,2--7071:34)"};
13310 val_t variable0;
13311 val_t variable1;
13312 val_t variable2;
13313 val_t variable3;
13314 val_t variable4;
13315 val_t variable5;
13316 val_t variable6;
13317 val_t variable7;
13318 val_t variable8;
13319 val_t variable9;
13320 val_t variable10;
13321 val_t variable11;
13322 val_t variable12;
13323 val_t variable13;
13324 val_t variable14;
13325 val_t variable15;
13326 val_t variable16;
13327 val_t variable17;
13328 val_t variable18;
13329 val_t variable19;
13330 val_t variable20;
13331 val_t variable21;
13332 val_t variable22;
13333 val_t variable23;
13334 val_t variable24;
13335 val_t variable25;
13336 val_t variable26;
13337 val_t variable27;
13338 trace.prev = tracehead; tracehead = &trace;
13339 variable0 = param0;
13340 variable1 = NIT_NULL /*null*/;
13341 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13342 variable2 = variable3;
13343 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13344 variable3 = variable4;
13345 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13346 variable4 = variable5;
13347 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13348 variable5 = variable6;
13349 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13350 variable6 = variable7;
13351 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13352 variable7 = variable8;
13353 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13354 variable8 = variable9;
13355 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13356 variable9 = variable10;
13357 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13358 variable10 = variable11;
13359 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13360 variable11 = variable12;
13361 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13362 variable12 = variable13;
13363 variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13364 variable13 = variable14;
13365 variable14 = variable13 /*nodearraylist1*/;
13366 variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13367 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7032,6--30\n"); nit_exit(1);}
13368 variable15 = variable12 /*nodearraylist2*/;
13369 variable16 = TAG_Bool(( variable15 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13370 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7034,6--38\n"); nit_exit(1);}
13371 variable16 = variable11 /*nodearraylist3*/;
13372 variable17 = TAG_Bool(( variable16 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable16 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13373 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7036,6--44\n"); nit_exit(1);}
13374 variable18 = NEW_parser_prod___AReadAble___init_areadable( variable15 /*tkwredefnode4*/, variable16 /*tkwreadablenode5*/); /*new AReadAble*/
13375 variable17 = variable18;
13376 variable18 = variable10 /*nodearraylist4*/;
13377 variable19 = TAG_Bool(( variable18 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13378 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7042,6--38\n"); nit_exit(1);}
13379 variable19 = variable9 /*nodearraylist5*/;
13380 variable20 = TAG_Bool(( variable19 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable19 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13381 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7044,6--44\n"); nit_exit(1);}
13382 variable21 = NEW_parser_prod___AWriteAble___init_awriteable( variable18 /*tkwredefnode7*/, variable19 /*tkwwritablenode8*/); /*new AWriteAble*/
13383 variable20 = variable21;
13384 variable21 = variable8 /*nodearraylist6*/;
13385 variable22 = TAG_Bool(( variable21 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable21 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13386 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7050,6--38\n"); nit_exit(1);}
13387 variable22 = variable7 /*nodearraylist7*/;
13388 variable23 = TAG_Bool(( variable22 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable22 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13389 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7052,6--45\n"); nit_exit(1);}
13390 variable23 = variable6 /*nodearraylist8*/;
13391 variable24 = TAG_Bool(( variable23 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable23 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13392 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7054,6--37\n"); nit_exit(1);}
13393 variable24 = variable5 /*nodearraylist9*/;
13394 variable25 = TAG_Bool(( variable24 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable24 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13395 if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7056,6--37\n"); nit_exit(1);}
13396 variable25 = variable2 /*nodearraylist12*/;
13397 variable26 = TAG_Bool(( variable25 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable25 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13398 if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7058,6--33\n"); nit_exit(1);}
13399 variable27 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/, variable17 /*pablenode3*/, variable20 /*pablenode6*/, variable21 /*tkwredefnode9*/, variable22 /*pvisibilitynode10*/, variable23 /*tkwattrnode11*/, variable24 /*tattridnode12*/, NIT_NULL /*null*/, variable25 /*pexprnode14*/); /*new AAttrPropdef*/
13400 variable26 = variable27;
13401 variable1 = variable26 /*ppropdefnode1*/ /*node_list=*/;
13402 variable27 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13403 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable27, variable1 /*node_list*/) /*Parser::push*/;
13404 tracehead = trace.prev;
13405 return;
13406 }
13407 void parser___ReduceAction139___init(val_t self, int* init_table) {
13408 struct trace_t trace = {NULL, "parser::ReduceAction139::init (src/parser//parser.nit:7073,1--4)"};
13409 trace.prev = tracehead; tracehead = &trace;
13410 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction139].i]) return;
13411 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction139].i] = 1;
13412 tracehead = trace.prev;
13413 return;
13414 }
13415 void parser___ReduceAction140___action(val_t self, val_t param0) {
13416 struct trace_t trace = {NULL, "parser::ReduceAction140::action (src/parser//parser.nit:7077,2--7122:34)"};
13417 val_t variable0;
13418 val_t variable1;
13419 val_t variable2;
13420 val_t variable3;
13421 val_t variable4;
13422 val_t variable5;
13423 val_t variable6;
13424 val_t variable7;
13425 val_t variable8;
13426 val_t variable9;
13427 val_t variable10;
13428 val_t variable11;
13429 val_t variable12;
13430 val_t variable13;
13431 val_t variable14;
13432 val_t variable15;
13433 val_t variable16;
13434 val_t variable17;
13435 val_t variable18;
13436 val_t variable19;
13437 val_t variable20;
13438 val_t variable21;
13439 val_t variable22;
13440 trace.prev = tracehead; tracehead = &trace;
13441 variable0 = param0;
13442 variable1 = NIT_NULL /*null*/;
13443 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13444 variable2 = variable3;
13445 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13446 variable3 = variable4;
13447 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13448 variable4 = variable5;
13449 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13450 variable5 = variable6;
13451 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13452 variable6 = variable7;
13453 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13454 variable7 = variable8;
13455 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13456 variable8 = variable9;
13457 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13458 variable9 = variable10;
13459 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13460 variable10 = variable11;
13461 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13462 variable11 = variable12;
13463 variable12 = variable11 /*nodearraylist1*/;
13464 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13465 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7091,6--30\n"); nit_exit(1);}
13466 variable13 = variable10 /*nodearraylist2*/;
13467 variable14 = TAG_Bool(( variable13 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13468 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7093,6--38\n"); nit_exit(1);}
13469 variable14 = variable9 /*nodearraylist3*/;
13470 variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13471 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7095,6--44\n"); nit_exit(1);}
13472 variable16 = NEW_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/
13473 variable15 = variable16;
13474 variable16 = variable8 /*nodearraylist4*/;
13475 variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13476 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7101,6--38\n"); nit_exit(1);}
13477 variable17 = variable7 /*nodearraylist5*/;
13478 variable18 = TAG_Bool(( variable17 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13479 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7103,6--44\n"); nit_exit(1);}
13480 variable18 = variable6 /*nodearraylist6*/;
13481 variable19 = TAG_Bool(( variable18 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13482 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7105,6--36\n"); nit_exit(1);}
13483 variable19 = variable5 /*nodearraylist7*/;
13484 variable20 = TAG_Bool(( variable19 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13485 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7107,6--37\n"); nit_exit(1);}
13486 variable20 = variable2 /*nodearraylist10*/;
13487 variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13488 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7109,6--33\n"); nit_exit(1);}
13489 variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable15 /*pablenode3*/, NIT_NULL /*null*/, variable16 /*tkwredefnode7*/, variable17 /*pvisibilitynode8*/, variable18 /*tkwattrnode9*/, variable19 /*tattridnode10*/, NIT_NULL /*null*/, variable20 /*pexprnode12*/); /*new AAttrPropdef*/
13490 variable21 = variable22;
13491 variable1 = variable21 /*ppropdefnode1*/ /*node_list=*/;
13492 variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13493 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/;
13494 tracehead = trace.prev;
13495 return;
13496 }
13497 void parser___ReduceAction140___init(val_t self, int* init_table) {
13498 struct trace_t trace = {NULL, "parser::ReduceAction140::init (src/parser//parser.nit:7124,1--4)"};
13499 trace.prev = tracehead; tracehead = &trace;
13500 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction140].i]) return;
13501 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction140].i] = 1;
13502 tracehead = trace.prev;
13503 return;
13504 }
13505 void parser___ReduceAction141___action(val_t self, val_t param0) {
13506 struct trace_t trace = {NULL, "parser::ReduceAction141::action (src/parser//parser.nit:7128,2--7170:34)"};
13507 val_t variable0;
13508 val_t variable1;
13509 val_t variable2;
13510 val_t variable3;
13511 val_t variable4;
13512 val_t variable5;
13513 val_t variable6;
13514 val_t variable7;
13515 val_t variable8;
13516 val_t variable9;
13517 val_t variable10;
13518 val_t variable11;
13519 val_t variable12;
13520 val_t variable13;
13521 val_t variable14;
13522 val_t variable15;
13523 val_t variable16;
13524 val_t variable17;
13525 val_t variable18;
13526 val_t variable19;
13527 val_t variable20;
13528 trace.prev = tracehead; tracehead = &trace;
13529 variable0 = param0;
13530 variable1 = NIT_NULL /*null*/;
13531 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13532 variable2 = variable3;
13533 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13534 variable3 = variable4;
13535 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13536 variable4 = variable5;
13537 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13538 variable5 = variable6;
13539 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13540 variable6 = variable7;
13541 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13542 variable7 = variable8;
13543 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13544 variable8 = variable9;
13545 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13546 variable9 = variable10;
13547 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13548 variable10 = variable11;
13549 variable11 = variable10 /*nodearraylist1*/;
13550 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13551 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7141,6--30\n"); nit_exit(1);}
13552 variable12 = variable9 /*nodearraylist2*/;
13553 variable13 = TAG_Bool(( variable12 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13554 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7143,6--44\n"); nit_exit(1);}
13555 variable14 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable12 /*tkwwritablenode6*/); /*new AWriteAble*/
13556 variable13 = variable14;
13557 variable14 = variable8 /*nodearraylist3*/;
13558 variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13559 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7149,6--38\n"); nit_exit(1);}
13560 variable15 = variable7 /*nodearraylist4*/;
13561 variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13562 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7151,6--44\n"); nit_exit(1);}
13563 variable16 = variable6 /*nodearraylist5*/;
13564 variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13565 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7153,6--36\n"); nit_exit(1);}
13566 variable17 = variable5 /*nodearraylist6*/;
13567 variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13568 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7155,6--37\n"); nit_exit(1);}
13569 variable18 = variable2 /*nodearraylist9*/;
13570 variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13571 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7157,6--33\n"); nit_exit(1);}
13572 variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, NIT_NULL /*null*/, variable13 /*pablenode4*/, variable14 /*tkwredefnode7*/, variable15 /*pvisibilitynode8*/, variable16 /*tkwattrnode9*/, variable17 /*tattridnode10*/, NIT_NULL /*null*/, variable18 /*pexprnode12*/); /*new AAttrPropdef*/
13573 variable19 = variable20;
13574 variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/;
13575 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13576 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
13577 tracehead = trace.prev;
13578 return;
13579 }
13580 void parser___ReduceAction141___init(val_t self, int* init_table) {
13581 struct trace_t trace = {NULL, "parser::ReduceAction141::init (src/parser//parser.nit:7172,1--4)"};
13582 trace.prev = tracehead; tracehead = &trace;
13583 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction141].i]) return;
13584 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction141].i] = 1;
13585 tracehead = trace.prev;
13586 return;
13587 }
13588 void parser___ReduceAction142___action(val_t self, val_t param0) {
13589 struct trace_t trace = {NULL, "parser::ReduceAction142::action (src/parser//parser.nit:7176,2--7221:34)"};
13590 val_t variable0;
13591 val_t variable1;
13592 val_t variable2;
13593 val_t variable3;
13594 val_t variable4;
13595 val_t variable5;
13596 val_t variable6;
13597 val_t variable7;
13598 val_t variable8;
13599 val_t variable9;
13600 val_t variable10;
13601 val_t variable11;
13602 val_t variable12;
13603 val_t variable13;
13604 val_t variable14;
13605 val_t variable15;
13606 val_t variable16;
13607 val_t variable17;
13608 val_t variable18;
13609 val_t variable19;
13610 val_t variable20;
13611 val_t variable21;
13612 val_t variable22;
13613 trace.prev = tracehead; tracehead = &trace;
13614 variable0 = param0;
13615 variable1 = NIT_NULL /*null*/;
13616 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13617 variable2 = variable3;
13618 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13619 variable3 = variable4;
13620 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13621 variable4 = variable5;
13622 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13623 variable5 = variable6;
13624 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13625 variable6 = variable7;
13626 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13627 variable7 = variable8;
13628 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13629 variable8 = variable9;
13630 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13631 variable9 = variable10;
13632 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13633 variable10 = variable11;
13634 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13635 variable11 = variable12;
13636 variable12 = variable11 /*nodearraylist1*/;
13637 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13638 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7190,6--30\n"); nit_exit(1);}
13639 variable13 = variable10 /*nodearraylist2*/;
13640 variable14 = TAG_Bool(( variable13 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13641 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7192,6--38\n"); nit_exit(1);}
13642 variable14 = variable9 /*nodearraylist3*/;
13643 variable15 = TAG_Bool(( variable14 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13644 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7194,6--44\n"); nit_exit(1);}
13645 variable16 = NEW_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode5*/, variable14 /*tkwwritablenode6*/); /*new AWriteAble*/
13646 variable15 = variable16;
13647 variable16 = variable8 /*nodearraylist4*/;
13648 variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13649 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7200,6--38\n"); nit_exit(1);}
13650 variable17 = variable7 /*nodearraylist5*/;
13651 variable18 = TAG_Bool(( variable17 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13652 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7202,6--44\n"); nit_exit(1);}
13653 variable18 = variable6 /*nodearraylist6*/;
13654 variable19 = TAG_Bool(( variable18 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13655 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7204,6--36\n"); nit_exit(1);}
13656 variable19 = variable5 /*nodearraylist7*/;
13657 variable20 = TAG_Bool(( variable19 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13658 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7206,6--37\n"); nit_exit(1);}
13659 variable20 = variable2 /*nodearraylist10*/;
13660 variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13661 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7208,6--33\n"); nit_exit(1);}
13662 variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, NIT_NULL /*null*/, variable15 /*pablenode4*/, variable16 /*tkwredefnode7*/, variable17 /*pvisibilitynode8*/, variable18 /*tkwattrnode9*/, variable19 /*tattridnode10*/, NIT_NULL /*null*/, variable20 /*pexprnode12*/); /*new AAttrPropdef*/
13663 variable21 = variable22;
13664 variable1 = variable21 /*ppropdefnode1*/ /*node_list=*/;
13665 variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13666 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/;
13667 tracehead = trace.prev;
13668 return;
13669 }
13670 void parser___ReduceAction142___init(val_t self, int* init_table) {
13671 struct trace_t trace = {NULL, "parser::ReduceAction142::init (src/parser//parser.nit:7223,1--4)"};
13672 trace.prev = tracehead; tracehead = &trace;
13673 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction142].i]) return;
13674 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction142].i] = 1;
13675 tracehead = trace.prev;
13676 return;
13677 }
13678 void parser___ReduceAction143___action(val_t self, val_t param0) {
13679 struct trace_t trace = {NULL, "parser::ReduceAction143::action (src/parser//parser.nit:7227,2--7262:34)"};
13680 val_t variable0;
13681 val_t variable1;
13682 val_t variable2;
13683 val_t variable3;
13684 val_t variable4;
13685 val_t variable5;
13686 val_t variable6;
13687 val_t variable7;
13688 val_t variable8;
13689 val_t variable9;
13690 val_t variable10;
13691 val_t variable11;
13692 val_t variable12;
13693 val_t variable13;
13694 val_t variable14;
13695 val_t variable15;
13696 val_t variable16;
13697 val_t variable17;
13698 trace.prev = tracehead; tracehead = &trace;
13699 variable0 = param0;
13700 variable1 = NIT_NULL /*null*/;
13701 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13702 variable2 = variable3;
13703 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13704 variable3 = variable4;
13705 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13706 variable4 = variable5;
13707 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13708 variable5 = variable6;
13709 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13710 variable6 = variable7;
13711 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13712 variable7 = variable8;
13713 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13714 variable8 = variable9;
13715 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13716 variable9 = variable10;
13717 variable10 = variable9 /*nodearraylist1*/;
13718 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13719 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7239,6--30\n"); nit_exit(1);}
13720 variable11 = variable8 /*nodearraylist2*/;
13721 variable12 = TAG_Bool(( variable11 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13722 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7241,6--38\n"); nit_exit(1);}
13723 variable12 = variable7 /*nodearraylist3*/;
13724 variable13 = TAG_Bool(( variable12 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13725 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7243,6--44\n"); nit_exit(1);}
13726 variable13 = variable6 /*nodearraylist4*/;
13727 variable14 = TAG_Bool(( variable13 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13728 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7245,6--36\n"); nit_exit(1);}
13729 variable14 = variable5 /*nodearraylist5*/;
13730 variable15 = TAG_Bool(( variable14 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13731 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7247,6--36\n"); nit_exit(1);}
13732 variable15 = variable2 /*nodearraylist8*/;
13733 variable16 = TAG_Bool(( variable15 /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13734 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7249,6--33\n"); nit_exit(1);}
13735 variable17 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable11 /*tkwredefnode5*/, variable12 /*pvisibilitynode6*/, variable13 /*tkwattrnode7*/, variable14 /*tattridnode8*/, NIT_NULL /*null*/, variable15 /*pexprnode10*/); /*new AAttrPropdef*/
13736 variable16 = variable17;
13737 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
13738 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13739 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
13740 tracehead = trace.prev;
13741 return;
13742 }
13743 void parser___ReduceAction143___init(val_t self, int* init_table) {
13744 struct trace_t trace = {NULL, "parser::ReduceAction143::init (src/parser//parser.nit:7264,1--4)"};
13745 trace.prev = tracehead; tracehead = &trace;
13746 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction143].i]) return;
13747 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction143].i] = 1;
13748 tracehead = trace.prev;
13749 return;
13750 }
13751 void parser___ReduceAction144___action(val_t self, val_t param0) {
13752 struct trace_t trace = {NULL, "parser::ReduceAction144::action (src/parser//parser.nit:7268,2--7317:34)"};
13753 val_t variable0;
13754 val_t variable1;
13755 val_t variable2;
13756 val_t variable3;
13757 val_t variable4;
13758 val_t variable5;
13759 val_t variable6;
13760 val_t variable7;
13761 val_t variable8;
13762 val_t variable9;
13763 val_t variable10;
13764 val_t variable11;
13765 val_t variable12;
13766 val_t variable13;
13767 val_t variable14;
13768 val_t variable15;
13769 val_t variable16;
13770 val_t variable17;
13771 val_t variable18;
13772 val_t variable19;
13773 val_t variable20;
13774 val_t variable21;
13775 val_t variable22;
13776 val_t variable23;
13777 trace.prev = tracehead; tracehead = &trace;
13778 variable0 = param0;
13779 variable1 = NIT_NULL /*null*/;
13780 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13781 variable2 = variable3;
13782 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13783 variable3 = variable4;
13784 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13785 variable4 = variable5;
13786 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13787 variable5 = variable6;
13788 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13789 variable6 = variable7;
13790 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13791 variable7 = variable8;
13792 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13793 variable8 = variable9;
13794 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13795 variable9 = variable10;
13796 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13797 variable10 = variable11;
13798 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13799 variable11 = variable12;
13800 variable12 = variable11 /*nodearraylist1*/;
13801 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13802 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7282,6--30\n"); nit_exit(1);}
13803 variable13 = variable10 /*nodearraylist2*/;
13804 variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13805 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7284,6--44\n"); nit_exit(1);}
13806 variable15 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/
13807 variable14 = variable15;
13808 variable15 = variable9 /*nodearraylist3*/;
13809 variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13810 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7290,6--44\n"); nit_exit(1);}
13811 variable17 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable15 /*tkwwritablenode8*/); /*new AWriteAble*/
13812 variable16 = variable17;
13813 variable17 = variable8 /*nodearraylist4*/;
13814 variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13815 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7296,6--45\n"); nit_exit(1);}
13816 variable18 = variable7 /*nodearraylist5*/;
13817 variable19 = TAG_Bool(( variable18 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13818 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7298,6--37\n"); nit_exit(1);}
13819 variable19 = variable6 /*nodearraylist6*/;
13820 variable20 = TAG_Bool(( variable19 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13821 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7300,6--37\n"); nit_exit(1);}
13822 variable20 = variable5 /*nodearraylist7*/;
13823 variable21 = TAG_Bool(( variable20 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable20 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
13824 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7302,6--33\n"); nit_exit(1);}
13825 variable21 = variable2 /*nodearraylist10*/;
13826 variable22 = TAG_Bool(( variable21 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable21 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13827 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7304,6--33\n"); nit_exit(1);}
13828 variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable14 /*pablenode3*/, variable16 /*pablenode6*/, NIT_NULL /*null*/, variable17 /*pvisibilitynode10*/, variable18 /*tkwattrnode11*/, variable19 /*tattridnode12*/, variable20 /*ptypenode13*/, variable21 /*pexprnode14*/); /*new AAttrPropdef*/
13829 variable22 = variable23;
13830 variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/;
13831 variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13832 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/;
13833 tracehead = trace.prev;
13834 return;
13835 }
13836 void parser___ReduceAction144___init(val_t self, int* init_table) {
13837 struct trace_t trace = {NULL, "parser::ReduceAction144::init (src/parser//parser.nit:7319,1--4)"};
13838 trace.prev = tracehead; tracehead = &trace;
13839 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction144].i]) return;
13840 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction144].i] = 1;
13841 tracehead = trace.prev;
13842 return;
13843 }
13844 void parser___ReduceAction145___action(val_t self, val_t param0) {
13845 struct trace_t trace = {NULL, "parser::ReduceAction145::action (src/parser//parser.nit:7323,2--7375:34)"};
13846 val_t variable0;
13847 val_t variable1;
13848 val_t variable2;
13849 val_t variable3;
13850 val_t variable4;
13851 val_t variable5;
13852 val_t variable6;
13853 val_t variable7;
13854 val_t variable8;
13855 val_t variable9;
13856 val_t variable10;
13857 val_t variable11;
13858 val_t variable12;
13859 val_t variable13;
13860 val_t variable14;
13861 val_t variable15;
13862 val_t variable16;
13863 val_t variable17;
13864 val_t variable18;
13865 val_t variable19;
13866 val_t variable20;
13867 val_t variable21;
13868 val_t variable22;
13869 val_t variable23;
13870 val_t variable24;
13871 val_t variable25;
13872 trace.prev = tracehead; tracehead = &trace;
13873 variable0 = param0;
13874 variable1 = NIT_NULL /*null*/;
13875 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13876 variable2 = variable3;
13877 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13878 variable3 = variable4;
13879 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13880 variable4 = variable5;
13881 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13882 variable5 = variable6;
13883 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13884 variable6 = variable7;
13885 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13886 variable7 = variable8;
13887 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13888 variable8 = variable9;
13889 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13890 variable9 = variable10;
13891 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13892 variable10 = variable11;
13893 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13894 variable11 = variable12;
13895 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13896 variable12 = variable13;
13897 variable13 = variable12 /*nodearraylist1*/;
13898 variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13899 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7338,6--30\n"); nit_exit(1);}
13900 variable14 = variable11 /*nodearraylist2*/;
13901 variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13902 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7340,6--44\n"); nit_exit(1);}
13903 variable16 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/
13904 variable15 = variable16;
13905 variable16 = variable10 /*nodearraylist3*/;
13906 variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13907 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7346,6--38\n"); nit_exit(1);}
13908 variable17 = variable9 /*nodearraylist4*/;
13909 variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
13910 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7348,6--44\n"); nit_exit(1);}
13911 variable19 = NEW_parser_prod___AWriteAble___init_awriteable( variable16 /*tkwredefnode7*/, variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
13912 variable18 = variable19;
13913 variable19 = variable8 /*nodearraylist5*/;
13914 variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13915 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7354,6--45\n"); nit_exit(1);}
13916 variable20 = variable7 /*nodearraylist6*/;
13917 variable21 = TAG_Bool(( variable20 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable20 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
13918 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7356,6--37\n"); nit_exit(1);}
13919 variable21 = variable6 /*nodearraylist7*/;
13920 variable22 = TAG_Bool(( variable21 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable21 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
13921 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7358,6--37\n"); nit_exit(1);}
13922 variable22 = variable5 /*nodearraylist8*/;
13923 variable23 = TAG_Bool(( variable22 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable22 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
13924 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7360,6--33\n"); nit_exit(1);}
13925 variable23 = variable2 /*nodearraylist11*/;
13926 variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13927 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7362,6--33\n"); nit_exit(1);}
13928 variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable15 /*pablenode3*/, variable18 /*pablenode6*/, NIT_NULL /*null*/, variable19 /*pvisibilitynode10*/, variable20 /*tkwattrnode11*/, variable21 /*tattridnode12*/, variable22 /*ptypenode13*/, variable23 /*pexprnode14*/); /*new AAttrPropdef*/
13929 variable24 = variable25;
13930 variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/;
13931 variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13932 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/;
13933 tracehead = trace.prev;
13934 return;
13935 }
13936 void parser___ReduceAction145___init(val_t self, int* init_table) {
13937 struct trace_t trace = {NULL, "parser::ReduceAction145::init (src/parser//parser.nit:7377,1--4)"};
13938 trace.prev = tracehead; tracehead = &trace;
13939 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction145].i]) return;
13940 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction145].i] = 1;
13941 tracehead = trace.prev;
13942 return;
13943 }
13944 void parser___ReduceAction146___action(val_t self, val_t param0) {
13945 struct trace_t trace = {NULL, "parser::ReduceAction146::action (src/parser//parser.nit:7381,2--7423:34)"};
13946 val_t variable0;
13947 val_t variable1;
13948 val_t variable2;
13949 val_t variable3;
13950 val_t variable4;
13951 val_t variable5;
13952 val_t variable6;
13953 val_t variable7;
13954 val_t variable8;
13955 val_t variable9;
13956 val_t variable10;
13957 val_t variable11;
13958 val_t variable12;
13959 val_t variable13;
13960 val_t variable14;
13961 val_t variable15;
13962 val_t variable16;
13963 val_t variable17;
13964 val_t variable18;
13965 val_t variable19;
13966 val_t variable20;
13967 trace.prev = tracehead; tracehead = &trace;
13968 variable0 = param0;
13969 variable1 = NIT_NULL /*null*/;
13970 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13971 variable2 = variable3;
13972 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13973 variable3 = variable4;
13974 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13975 variable4 = variable5;
13976 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13977 variable5 = variable6;
13978 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13979 variable6 = variable7;
13980 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13981 variable7 = variable8;
13982 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13983 variable8 = variable9;
13984 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13985 variable9 = variable10;
13986 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
13987 variable10 = variable11;
13988 variable11 = variable10 /*nodearraylist1*/;
13989 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13990 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7394,6--30\n"); nit_exit(1);}
13991 variable12 = variable9 /*nodearraylist2*/;
13992 variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
13993 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7396,6--44\n"); nit_exit(1);}
13994 variable14 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/
13995 variable13 = variable14;
13996 variable14 = variable8 /*nodearraylist3*/;
13997 variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13998 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7402,6--44\n"); nit_exit(1);}
13999 variable15 = variable7 /*nodearraylist4*/;
14000 variable16 = TAG_Bool(( variable15 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14001 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7404,6--36\n"); nit_exit(1);}
14002 variable16 = variable6 /*nodearraylist5*/;
14003 variable17 = TAG_Bool(( variable16 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14004 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7406,6--37\n"); nit_exit(1);}
14005 variable17 = variable5 /*nodearraylist6*/;
14006 variable18 = TAG_Bool(( variable17 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable17 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
14007 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7408,6--33\n"); nit_exit(1);}
14008 variable18 = variable2 /*nodearraylist9*/;
14009 variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14010 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7410,6--33\n"); nit_exit(1);}
14011 variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable13 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable14 /*pvisibilitynode8*/, variable15 /*tkwattrnode9*/, variable16 /*tattridnode10*/, variable17 /*ptypenode11*/, variable18 /*pexprnode12*/); /*new AAttrPropdef*/
14012 variable19 = variable20;
14013 variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/;
14014 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14015 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
14016 tracehead = trace.prev;
14017 return;
14018 }
14019 void parser___ReduceAction146___init(val_t self, int* init_table) {
14020 struct trace_t trace = {NULL, "parser::ReduceAction146::init (src/parser//parser.nit:7425,1--4)"};
14021 trace.prev = tracehead; tracehead = &trace;
14022 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction146].i]) return;
14023 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction146].i] = 1;
14024 tracehead = trace.prev;
14025 return;
14026 }
14027 void parser___ReduceAction147___action(val_t self, val_t param0) {
14028 struct trace_t trace = {NULL, "parser::ReduceAction147::action (src/parser//parser.nit:7429,2--7481:34)"};
14029 val_t variable0;
14030 val_t variable1;
14031 val_t variable2;
14032 val_t variable3;
14033 val_t variable4;
14034 val_t variable5;
14035 val_t variable6;
14036 val_t variable7;
14037 val_t variable8;
14038 val_t variable9;
14039 val_t variable10;
14040 val_t variable11;
14041 val_t variable12;
14042 val_t variable13;
14043 val_t variable14;
14044 val_t variable15;
14045 val_t variable16;
14046 val_t variable17;
14047 val_t variable18;
14048 val_t variable19;
14049 val_t variable20;
14050 val_t variable21;
14051 val_t variable22;
14052 val_t variable23;
14053 val_t variable24;
14054 val_t variable25;
14055 trace.prev = tracehead; tracehead = &trace;
14056 variable0 = param0;
14057 variable1 = NIT_NULL /*null*/;
14058 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14059 variable2 = variable3;
14060 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14061 variable3 = variable4;
14062 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14063 variable4 = variable5;
14064 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14065 variable5 = variable6;
14066 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14067 variable6 = variable7;
14068 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14069 variable7 = variable8;
14070 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14071 variable8 = variable9;
14072 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14073 variable9 = variable10;
14074 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14075 variable10 = variable11;
14076 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14077 variable11 = variable12;
14078 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14079 variable12 = variable13;
14080 variable13 = variable12 /*nodearraylist1*/;
14081 variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14082 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7444,6--30\n"); nit_exit(1);}
14083 variable14 = variable11 /*nodearraylist2*/;
14084 variable15 = TAG_Bool(( variable14 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14085 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7446,6--38\n"); nit_exit(1);}
14086 variable15 = variable10 /*nodearraylist3*/;
14087 variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14088 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7448,6--44\n"); nit_exit(1);}
14089 variable17 = NEW_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/, variable15 /*tkwreadablenode5*/); /*new AReadAble*/
14090 variable16 = variable17;
14091 variable17 = variable9 /*nodearraylist4*/;
14092 variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14093 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7454,6--44\n"); nit_exit(1);}
14094 variable19 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable17 /*tkwwritablenode8*/); /*new AWriteAble*/
14095 variable18 = variable19;
14096 variable19 = variable8 /*nodearraylist5*/;
14097 variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14098 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7460,6--45\n"); nit_exit(1);}
14099 variable20 = variable7 /*nodearraylist6*/;
14100 variable21 = TAG_Bool(( variable20 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable20 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14101 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7462,6--37\n"); nit_exit(1);}
14102 variable21 = variable6 /*nodearraylist7*/;
14103 variable22 = TAG_Bool(( variable21 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable21 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14104 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7464,6--37\n"); nit_exit(1);}
14105 variable22 = variable5 /*nodearraylist8*/;
14106 variable23 = TAG_Bool(( variable22 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable22 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
14107 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7466,6--33\n"); nit_exit(1);}
14108 variable23 = variable2 /*nodearraylist11*/;
14109 variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14110 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7468,6--33\n"); nit_exit(1);}
14111 variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable16 /*pablenode3*/, variable18 /*pablenode6*/, NIT_NULL /*null*/, variable19 /*pvisibilitynode10*/, variable20 /*tkwattrnode11*/, variable21 /*tattridnode12*/, variable22 /*ptypenode13*/, variable23 /*pexprnode14*/); /*new AAttrPropdef*/
14112 variable24 = variable25;
14113 variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/;
14114 variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14115 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/;
14116 tracehead = trace.prev;
14117 return;
14118 }
14119 void parser___ReduceAction147___init(val_t self, int* init_table) {
14120 struct trace_t trace = {NULL, "parser::ReduceAction147::init (src/parser//parser.nit:7483,1--4)"};
14121 trace.prev = tracehead; tracehead = &trace;
14122 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction147].i]) return;
14123 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction147].i] = 1;
14124 tracehead = trace.prev;
14125 return;
14126 }
14127 void parser___ReduceAction148___action(val_t self, val_t param0) {
14128 struct trace_t trace = {NULL, "parser::ReduceAction148::action (src/parser//parser.nit:7487,2--7542:34)"};
14129 val_t variable0;
14130 val_t variable1;
14131 val_t variable2;
14132 val_t variable3;
14133 val_t variable4;
14134 val_t variable5;
14135 val_t variable6;
14136 val_t variable7;
14137 val_t variable8;
14138 val_t variable9;
14139 val_t variable10;
14140 val_t variable11;
14141 val_t variable12;
14142 val_t variable13;
14143 val_t variable14;
14144 val_t variable15;
14145 val_t variable16;
14146 val_t variable17;
14147 val_t variable18;
14148 val_t variable19;
14149 val_t variable20;
14150 val_t variable21;
14151 val_t variable22;
14152 val_t variable23;
14153 val_t variable24;
14154 val_t variable25;
14155 val_t variable26;
14156 val_t variable27;
14157 trace.prev = tracehead; tracehead = &trace;
14158 variable0 = param0;
14159 variable1 = NIT_NULL /*null*/;
14160 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14161 variable2 = variable3;
14162 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14163 variable3 = variable4;
14164 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14165 variable4 = variable5;
14166 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14167 variable5 = variable6;
14168 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14169 variable6 = variable7;
14170 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14171 variable7 = variable8;
14172 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14173 variable8 = variable9;
14174 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14175 variable9 = variable10;
14176 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14177 variable10 = variable11;
14178 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14179 variable11 = variable12;
14180 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14181 variable12 = variable13;
14182 variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14183 variable13 = variable14;
14184 variable14 = variable13 /*nodearraylist1*/;
14185 variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14186 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7503,6--30\n"); nit_exit(1);}
14187 variable15 = variable12 /*nodearraylist2*/;
14188 variable16 = TAG_Bool(( variable15 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14189 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7505,6--38\n"); nit_exit(1);}
14190 variable16 = variable11 /*nodearraylist3*/;
14191 variable17 = TAG_Bool(( variable16 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable16 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14192 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7507,6--44\n"); nit_exit(1);}
14193 variable18 = NEW_parser_prod___AReadAble___init_areadable( variable15 /*tkwredefnode4*/, variable16 /*tkwreadablenode5*/); /*new AReadAble*/
14194 variable17 = variable18;
14195 variable18 = variable10 /*nodearraylist4*/;
14196 variable19 = TAG_Bool(( variable18 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14197 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7513,6--38\n"); nit_exit(1);}
14198 variable19 = variable9 /*nodearraylist5*/;
14199 variable20 = TAG_Bool(( variable19 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable19 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14200 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7515,6--44\n"); nit_exit(1);}
14201 variable21 = NEW_parser_prod___AWriteAble___init_awriteable( variable18 /*tkwredefnode7*/, variable19 /*tkwwritablenode8*/); /*new AWriteAble*/
14202 variable20 = variable21;
14203 variable21 = variable8 /*nodearraylist6*/;
14204 variable22 = TAG_Bool(( variable21 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable21 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14205 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7521,6--45\n"); nit_exit(1);}
14206 variable22 = variable7 /*nodearraylist7*/;
14207 variable23 = TAG_Bool(( variable22 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable22 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14208 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7523,6--37\n"); nit_exit(1);}
14209 variable23 = variable6 /*nodearraylist8*/;
14210 variable24 = TAG_Bool(( variable23 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable23 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14211 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7525,6--37\n"); nit_exit(1);}
14212 variable24 = variable5 /*nodearraylist9*/;
14213 variable25 = TAG_Bool(( variable24 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable24 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
14214 if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7527,6--33\n"); nit_exit(1);}
14215 variable25 = variable2 /*nodearraylist12*/;
14216 variable26 = TAG_Bool(( variable25 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable25 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14217 if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7529,6--33\n"); nit_exit(1);}
14218 variable27 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/, variable17 /*pablenode3*/, variable20 /*pablenode6*/, NIT_NULL /*null*/, variable21 /*pvisibilitynode10*/, variable22 /*tkwattrnode11*/, variable23 /*tattridnode12*/, variable24 /*ptypenode13*/, variable25 /*pexprnode14*/); /*new AAttrPropdef*/
14219 variable26 = variable27;
14220 variable1 = variable26 /*ppropdefnode1*/ /*node_list=*/;
14221 variable27 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14222 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable27, variable1 /*node_list*/) /*Parser::push*/;
14223 tracehead = trace.prev;
14224 return;
14225 }
14226 void parser___ReduceAction148___init(val_t self, int* init_table) {
14227 struct trace_t trace = {NULL, "parser::ReduceAction148::init (src/parser//parser.nit:7544,1--4)"};
14228 trace.prev = tracehead; tracehead = &trace;
14229 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction148].i]) return;
14230 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction148].i] = 1;
14231 tracehead = trace.prev;
14232 return;
14233 }
14234 void parser___ReduceAction149___action(val_t self, val_t param0) {
14235 struct trace_t trace = {NULL, "parser::ReduceAction149::action (src/parser//parser.nit:7548,2--7593:34)"};
14236 val_t variable0;
14237 val_t variable1;
14238 val_t variable2;
14239 val_t variable3;
14240 val_t variable4;
14241 val_t variable5;
14242 val_t variable6;
14243 val_t variable7;
14244 val_t variable8;
14245 val_t variable9;
14246 val_t variable10;
14247 val_t variable11;
14248 val_t variable12;
14249 val_t variable13;
14250 val_t variable14;
14251 val_t variable15;
14252 val_t variable16;
14253 val_t variable17;
14254 val_t variable18;
14255 val_t variable19;
14256 val_t variable20;
14257 val_t variable21;
14258 val_t variable22;
14259 trace.prev = tracehead; tracehead = &trace;
14260 variable0 = param0;
14261 variable1 = NIT_NULL /*null*/;
14262 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14263 variable2 = variable3;
14264 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14265 variable3 = variable4;
14266 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14267 variable4 = variable5;
14268 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14269 variable5 = variable6;
14270 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14271 variable6 = variable7;
14272 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14273 variable7 = variable8;
14274 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14275 variable8 = variable9;
14276 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14277 variable9 = variable10;
14278 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14279 variable10 = variable11;
14280 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14281 variable11 = variable12;
14282 variable12 = variable11 /*nodearraylist1*/;
14283 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14284 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7562,6--30\n"); nit_exit(1);}
14285 variable13 = variable10 /*nodearraylist2*/;
14286 variable14 = TAG_Bool(( variable13 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14287 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7564,6--38\n"); nit_exit(1);}
14288 variable14 = variable9 /*nodearraylist3*/;
14289 variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14290 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7566,6--44\n"); nit_exit(1);}
14291 variable16 = NEW_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/
14292 variable15 = variable16;
14293 variable16 = variable8 /*nodearraylist4*/;
14294 variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14295 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7572,6--44\n"); nit_exit(1);}
14296 variable17 = variable7 /*nodearraylist5*/;
14297 variable18 = TAG_Bool(( variable17 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14298 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7574,6--36\n"); nit_exit(1);}
14299 variable18 = variable6 /*nodearraylist6*/;
14300 variable19 = TAG_Bool(( variable18 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14301 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7576,6--37\n"); nit_exit(1);}
14302 variable19 = variable5 /*nodearraylist7*/;
14303 variable20 = TAG_Bool(( variable19 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
14304 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7578,6--33\n"); nit_exit(1);}
14305 variable20 = variable2 /*nodearraylist10*/;
14306 variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14307 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7580,6--33\n"); nit_exit(1);}
14308 variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable15 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode8*/, variable17 /*tkwattrnode9*/, variable18 /*tattridnode10*/, variable19 /*ptypenode11*/, variable20 /*pexprnode12*/); /*new AAttrPropdef*/
14309 variable21 = variable22;
14310 variable1 = variable21 /*ppropdefnode1*/ /*node_list=*/;
14311 variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14312 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/;
14313 tracehead = trace.prev;
14314 return;
14315 }
14316 void parser___ReduceAction149___init(val_t self, int* init_table) {
14317 struct trace_t trace = {NULL, "parser::ReduceAction149::init (src/parser//parser.nit:7595,1--4)"};
14318 trace.prev = tracehead; tracehead = &trace;
14319 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction149].i]) return;
14320 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction149].i] = 1;
14321 tracehead = trace.prev;
14322 return;
14323 }
14324 void parser___ReduceAction150___action(val_t self, val_t param0) {
14325 struct trace_t trace = {NULL, "parser::ReduceAction150::action (src/parser//parser.nit:7599,2--7641:34)"};
14326 val_t variable0;
14327 val_t variable1;
14328 val_t variable2;
14329 val_t variable3;
14330 val_t variable4;
14331 val_t variable5;
14332 val_t variable6;
14333 val_t variable7;
14334 val_t variable8;
14335 val_t variable9;
14336 val_t variable10;
14337 val_t variable11;
14338 val_t variable12;
14339 val_t variable13;
14340 val_t variable14;
14341 val_t variable15;
14342 val_t variable16;
14343 val_t variable17;
14344 val_t variable18;
14345 val_t variable19;
14346 val_t variable20;
14347 trace.prev = tracehead; tracehead = &trace;
14348 variable0 = param0;
14349 variable1 = NIT_NULL /*null*/;
14350 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14351 variable2 = variable3;
14352 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14353 variable3 = variable4;
14354 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14355 variable4 = variable5;
14356 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14357 variable5 = variable6;
14358 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14359 variable6 = variable7;
14360 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14361 variable7 = variable8;
14362 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14363 variable8 = variable9;
14364 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14365 variable9 = variable10;
14366 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14367 variable10 = variable11;
14368 variable11 = variable10 /*nodearraylist1*/;
14369 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14370 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7612,6--30\n"); nit_exit(1);}
14371 variable12 = variable9 /*nodearraylist2*/;
14372 variable13 = TAG_Bool(( variable12 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14373 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7614,6--44\n"); nit_exit(1);}
14374 variable14 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable12 /*tkwwritablenode6*/); /*new AWriteAble*/
14375 variable13 = variable14;
14376 variable14 = variable8 /*nodearraylist3*/;
14377 variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14378 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7620,6--44\n"); nit_exit(1);}
14379 variable15 = variable7 /*nodearraylist4*/;
14380 variable16 = TAG_Bool(( variable15 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14381 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7622,6--36\n"); nit_exit(1);}
14382 variable16 = variable6 /*nodearraylist5*/;
14383 variable17 = TAG_Bool(( variable16 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14384 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7624,6--37\n"); nit_exit(1);}
14385 variable17 = variable5 /*nodearraylist6*/;
14386 variable18 = TAG_Bool(( variable17 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable17 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
14387 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7626,6--33\n"); nit_exit(1);}
14388 variable18 = variable2 /*nodearraylist9*/;
14389 variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14390 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7628,6--33\n"); nit_exit(1);}
14391 variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, NIT_NULL /*null*/, variable13 /*pablenode4*/, NIT_NULL /*null*/, variable14 /*pvisibilitynode8*/, variable15 /*tkwattrnode9*/, variable16 /*tattridnode10*/, variable17 /*ptypenode11*/, variable18 /*pexprnode12*/); /*new AAttrPropdef*/
14392 variable19 = variable20;
14393 variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/;
14394 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14395 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
14396 tracehead = trace.prev;
14397 return;
14398 }
14399 void parser___ReduceAction150___init(val_t self, int* init_table) {
14400 struct trace_t trace = {NULL, "parser::ReduceAction150::init (src/parser//parser.nit:7643,1--4)"};
14401 trace.prev = tracehead; tracehead = &trace;
14402 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction150].i]) return;
14403 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction150].i] = 1;
14404 tracehead = trace.prev;
14405 return;
14406 }
14407 void parser___ReduceAction151___action(val_t self, val_t param0) {
14408 struct trace_t trace = {NULL, "parser::ReduceAction151::action (src/parser//parser.nit:7647,2--7692:34)"};
14409 val_t variable0;
14410 val_t variable1;
14411 val_t variable2;
14412 val_t variable3;
14413 val_t variable4;
14414 val_t variable5;
14415 val_t variable6;
14416 val_t variable7;
14417 val_t variable8;
14418 val_t variable9;
14419 val_t variable10;
14420 val_t variable11;
14421 val_t variable12;
14422 val_t variable13;
14423 val_t variable14;
14424 val_t variable15;
14425 val_t variable16;
14426 val_t variable17;
14427 val_t variable18;
14428 val_t variable19;
14429 val_t variable20;
14430 val_t variable21;
14431 val_t variable22;
14432 trace.prev = tracehead; tracehead = &trace;
14433 variable0 = param0;
14434 variable1 = NIT_NULL /*null*/;
14435 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14436 variable2 = variable3;
14437 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14438 variable3 = variable4;
14439 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14440 variable4 = variable5;
14441 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14442 variable5 = variable6;
14443 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14444 variable6 = variable7;
14445 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14446 variable7 = variable8;
14447 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14448 variable8 = variable9;
14449 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14450 variable9 = variable10;
14451 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14452 variable10 = variable11;
14453 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14454 variable11 = variable12;
14455 variable12 = variable11 /*nodearraylist1*/;
14456 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14457 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7661,6--30\n"); nit_exit(1);}
14458 variable13 = variable10 /*nodearraylist2*/;
14459 variable14 = TAG_Bool(( variable13 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14460 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7663,6--38\n"); nit_exit(1);}
14461 variable14 = variable9 /*nodearraylist3*/;
14462 variable15 = TAG_Bool(( variable14 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14463 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7665,6--44\n"); nit_exit(1);}
14464 variable16 = NEW_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode5*/, variable14 /*tkwwritablenode6*/); /*new AWriteAble*/
14465 variable15 = variable16;
14466 variable16 = variable8 /*nodearraylist4*/;
14467 variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14468 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7671,6--44\n"); nit_exit(1);}
14469 variable17 = variable7 /*nodearraylist5*/;
14470 variable18 = TAG_Bool(( variable17 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14471 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7673,6--36\n"); nit_exit(1);}
14472 variable18 = variable6 /*nodearraylist6*/;
14473 variable19 = TAG_Bool(( variable18 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14474 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7675,6--37\n"); nit_exit(1);}
14475 variable19 = variable5 /*nodearraylist7*/;
14476 variable20 = TAG_Bool(( variable19 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
14477 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7677,6--33\n"); nit_exit(1);}
14478 variable20 = variable2 /*nodearraylist10*/;
14479 variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14480 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7679,6--33\n"); nit_exit(1);}
14481 variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, NIT_NULL /*null*/, variable15 /*pablenode4*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode8*/, variable17 /*tkwattrnode9*/, variable18 /*tattridnode10*/, variable19 /*ptypenode11*/, variable20 /*pexprnode12*/); /*new AAttrPropdef*/
14482 variable21 = variable22;
14483 variable1 = variable21 /*ppropdefnode1*/ /*node_list=*/;
14484 variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14485 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/;
14486 tracehead = trace.prev;
14487 return;
14488 }
14489 void parser___ReduceAction151___init(val_t self, int* init_table) {
14490 struct trace_t trace = {NULL, "parser::ReduceAction151::init (src/parser//parser.nit:7694,1--4)"};
14491 trace.prev = tracehead; tracehead = &trace;
14492 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction151].i]) return;
14493 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction151].i] = 1;
14494 tracehead = trace.prev;
14495 return;
14496 }
14497 void parser___ReduceAction152___action(val_t self, val_t param0) {
14498 struct trace_t trace = {NULL, "parser::ReduceAction152::action (src/parser//parser.nit:7698,2--7733:34)"};
14499 val_t variable0;
14500 val_t variable1;
14501 val_t variable2;
14502 val_t variable3;
14503 val_t variable4;
14504 val_t variable5;
14505 val_t variable6;
14506 val_t variable7;
14507 val_t variable8;
14508 val_t variable9;
14509 val_t variable10;
14510 val_t variable11;
14511 val_t variable12;
14512 val_t variable13;
14513 val_t variable14;
14514 val_t variable15;
14515 val_t variable16;
14516 val_t variable17;
14517 trace.prev = tracehead; tracehead = &trace;
14518 variable0 = param0;
14519 variable1 = NIT_NULL /*null*/;
14520 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14521 variable2 = variable3;
14522 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14523 variable3 = variable4;
14524 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14525 variable4 = variable5;
14526 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14527 variable5 = variable6;
14528 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14529 variable6 = variable7;
14530 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14531 variable7 = variable8;
14532 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14533 variable8 = variable9;
14534 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14535 variable9 = variable10;
14536 variable10 = variable9 /*nodearraylist1*/;
14537 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14538 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7710,6--30\n"); nit_exit(1);}
14539 variable11 = variable8 /*nodearraylist2*/;
14540 variable12 = TAG_Bool(( variable11 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14541 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7712,6--44\n"); nit_exit(1);}
14542 variable12 = variable7 /*nodearraylist3*/;
14543 variable13 = TAG_Bool(( variable12 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14544 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7714,6--36\n"); nit_exit(1);}
14545 variable13 = variable6 /*nodearraylist4*/;
14546 variable14 = TAG_Bool(( variable13 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable13 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14547 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7716,6--36\n"); nit_exit(1);}
14548 variable14 = variable5 /*nodearraylist5*/;
14549 variable15 = TAG_Bool(( variable14 /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
14550 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7718,6--32\n"); nit_exit(1);}
14551 variable15 = variable2 /*nodearraylist8*/;
14552 variable16 = TAG_Bool(( variable15 /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14553 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7720,6--33\n"); nit_exit(1);}
14554 variable17 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode6*/, variable12 /*tkwattrnode7*/, variable13 /*tattridnode8*/, variable14 /*ptypenode9*/, variable15 /*pexprnode10*/); /*new AAttrPropdef*/
14555 variable16 = variable17;
14556 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
14557 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14558 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
14559 tracehead = trace.prev;
14560 return;
14561 }
14562 void parser___ReduceAction152___init(val_t self, int* init_table) {
14563 struct trace_t trace = {NULL, "parser::ReduceAction152::init (src/parser//parser.nit:7735,1--4)"};
14564 trace.prev = tracehead; tracehead = &trace;
14565 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction152].i]) return;
14566 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction152].i] = 1;
14567 tracehead = trace.prev;
14568 return;
14569 }
14570 void parser___ReduceAction153___action(val_t self, val_t param0) {
14571 struct trace_t trace = {NULL, "parser::ReduceAction153::action (src/parser//parser.nit:7739,2--7791:34)"};
14572 val_t variable0;
14573 val_t variable1;
14574 val_t variable2;
14575 val_t variable3;
14576 val_t variable4;
14577 val_t variable5;
14578 val_t variable6;
14579 val_t variable7;
14580 val_t variable8;
14581 val_t variable9;
14582 val_t variable10;
14583 val_t variable11;
14584 val_t variable12;
14585 val_t variable13;
14586 val_t variable14;
14587 val_t variable15;
14588 val_t variable16;
14589 val_t variable17;
14590 val_t variable18;
14591 val_t variable19;
14592 val_t variable20;
14593 val_t variable21;
14594 val_t variable22;
14595 val_t variable23;
14596 val_t variable24;
14597 val_t variable25;
14598 trace.prev = tracehead; tracehead = &trace;
14599 variable0 = param0;
14600 variable1 = NIT_NULL /*null*/;
14601 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14602 variable2 = variable3;
14603 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14604 variable3 = variable4;
14605 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14606 variable4 = variable5;
14607 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14608 variable5 = variable6;
14609 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14610 variable6 = variable7;
14611 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14612 variable7 = variable8;
14613 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14614 variable8 = variable9;
14615 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14616 variable9 = variable10;
14617 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14618 variable10 = variable11;
14619 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14620 variable11 = variable12;
14621 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14622 variable12 = variable13;
14623 variable13 = variable12 /*nodearraylist1*/;
14624 variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14625 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7754,6--30\n"); nit_exit(1);}
14626 variable14 = variable11 /*nodearraylist2*/;
14627 variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14628 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7756,6--44\n"); nit_exit(1);}
14629 variable16 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/
14630 variable15 = variable16;
14631 variable16 = variable10 /*nodearraylist3*/;
14632 variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14633 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7762,6--44\n"); nit_exit(1);}
14634 variable18 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable16 /*tkwwritablenode8*/); /*new AWriteAble*/
14635 variable17 = variable18;
14636 variable18 = variable9 /*nodearraylist4*/;
14637 variable19 = TAG_Bool(( variable18 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14638 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7768,6--38\n"); nit_exit(1);}
14639 variable19 = variable8 /*nodearraylist5*/;
14640 variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14641 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7770,6--45\n"); nit_exit(1);}
14642 variable20 = variable7 /*nodearraylist6*/;
14643 variable21 = TAG_Bool(( variable20 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable20 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14644 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7772,6--37\n"); nit_exit(1);}
14645 variable21 = variable6 /*nodearraylist7*/;
14646 variable22 = TAG_Bool(( variable21 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable21 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14647 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7774,6--37\n"); nit_exit(1);}
14648 variable22 = variable5 /*nodearraylist8*/;
14649 variable23 = TAG_Bool(( variable22 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable22 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
14650 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7776,6--33\n"); nit_exit(1);}
14651 variable23 = variable2 /*nodearraylist11*/;
14652 variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14653 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7778,6--33\n"); nit_exit(1);}
14654 variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable15 /*pablenode3*/, variable17 /*pablenode6*/, variable18 /*tkwredefnode9*/, variable19 /*pvisibilitynode10*/, variable20 /*tkwattrnode11*/, variable21 /*tattridnode12*/, variable22 /*ptypenode13*/, variable23 /*pexprnode14*/); /*new AAttrPropdef*/
14655 variable24 = variable25;
14656 variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/;
14657 variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14658 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/;
14659 tracehead = trace.prev;
14660 return;
14661 }
14662 void parser___ReduceAction153___init(val_t self, int* init_table) {
14663 struct trace_t trace = {NULL, "parser::ReduceAction153::init (src/parser//parser.nit:7793,1--4)"};
14664 trace.prev = tracehead; tracehead = &trace;
14665 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction153].i]) return;
14666 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction153].i] = 1;
14667 tracehead = trace.prev;
14668 return;
14669 }
14670 void parser___ReduceAction154___action(val_t self, val_t param0) {
14671 struct trace_t trace = {NULL, "parser::ReduceAction154::action (src/parser//parser.nit:7797,2--7852:34)"};
14672 val_t variable0;
14673 val_t variable1;
14674 val_t variable2;
14675 val_t variable3;
14676 val_t variable4;
14677 val_t variable5;
14678 val_t variable6;
14679 val_t variable7;
14680 val_t variable8;
14681 val_t variable9;
14682 val_t variable10;
14683 val_t variable11;
14684 val_t variable12;
14685 val_t variable13;
14686 val_t variable14;
14687 val_t variable15;
14688 val_t variable16;
14689 val_t variable17;
14690 val_t variable18;
14691 val_t variable19;
14692 val_t variable20;
14693 val_t variable21;
14694 val_t variable22;
14695 val_t variable23;
14696 val_t variable24;
14697 val_t variable25;
14698 val_t variable26;
14699 val_t variable27;
14700 trace.prev = tracehead; tracehead = &trace;
14701 variable0 = param0;
14702 variable1 = NIT_NULL /*null*/;
14703 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14704 variable2 = variable3;
14705 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14706 variable3 = variable4;
14707 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14708 variable4 = variable5;
14709 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14710 variable5 = variable6;
14711 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14712 variable6 = variable7;
14713 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14714 variable7 = variable8;
14715 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14716 variable8 = variable9;
14717 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14718 variable9 = variable10;
14719 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14720 variable10 = variable11;
14721 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14722 variable11 = variable12;
14723 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14724 variable12 = variable13;
14725 variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14726 variable13 = variable14;
14727 variable14 = variable13 /*nodearraylist1*/;
14728 variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14729 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7813,6--30\n"); nit_exit(1);}
14730 variable15 = variable12 /*nodearraylist2*/;
14731 variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14732 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7815,6--44\n"); nit_exit(1);}
14733 variable17 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable15 /*tkwreadablenode5*/); /*new AReadAble*/
14734 variable16 = variable17;
14735 variable17 = variable11 /*nodearraylist3*/;
14736 variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14737 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7821,6--38\n"); nit_exit(1);}
14738 variable18 = variable10 /*nodearraylist4*/;
14739 variable19 = TAG_Bool(( variable18 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable18 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14740 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7823,6--44\n"); nit_exit(1);}
14741 variable20 = NEW_parser_prod___AWriteAble___init_awriteable( variable17 /*tkwredefnode7*/, variable18 /*tkwwritablenode8*/); /*new AWriteAble*/
14742 variable19 = variable20;
14743 variable20 = variable9 /*nodearraylist5*/;
14744 variable21 = TAG_Bool(( variable20 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable20 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14745 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7829,6--38\n"); nit_exit(1);}
14746 variable21 = variable8 /*nodearraylist6*/;
14747 variable22 = TAG_Bool(( variable21 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable21 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14748 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7831,6--45\n"); nit_exit(1);}
14749 variable22 = variable7 /*nodearraylist7*/;
14750 variable23 = TAG_Bool(( variable22 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable22 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14751 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7833,6--37\n"); nit_exit(1);}
14752 variable23 = variable6 /*nodearraylist8*/;
14753 variable24 = TAG_Bool(( variable23 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable23 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14754 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7835,6--37\n"); nit_exit(1);}
14755 variable24 = variable5 /*nodearraylist9*/;
14756 variable25 = TAG_Bool(( variable24 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable24 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
14757 if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7837,6--33\n"); nit_exit(1);}
14758 variable25 = variable2 /*nodearraylist12*/;
14759 variable26 = TAG_Bool(( variable25 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable25 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14760 if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7839,6--33\n"); nit_exit(1);}
14761 variable27 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/, variable16 /*pablenode3*/, variable19 /*pablenode6*/, variable20 /*tkwredefnode9*/, variable21 /*pvisibilitynode10*/, variable22 /*tkwattrnode11*/, variable23 /*tattridnode12*/, variable24 /*ptypenode13*/, variable25 /*pexprnode14*/); /*new AAttrPropdef*/
14762 variable26 = variable27;
14763 variable1 = variable26 /*ppropdefnode1*/ /*node_list=*/;
14764 variable27 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14765 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable27, variable1 /*node_list*/) /*Parser::push*/;
14766 tracehead = trace.prev;
14767 return;
14768 }
14769 void parser___ReduceAction154___init(val_t self, int* init_table) {
14770 struct trace_t trace = {NULL, "parser::ReduceAction154::init (src/parser//parser.nit:7854,1--4)"};
14771 trace.prev = tracehead; tracehead = &trace;
14772 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction154].i]) return;
14773 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction154].i] = 1;
14774 tracehead = trace.prev;
14775 return;
14776 }
14777 void parser___ReduceAction155___action(val_t self, val_t param0) {
14778 struct trace_t trace = {NULL, "parser::ReduceAction155::action (src/parser//parser.nit:7858,2--7903:34)"};
14779 val_t variable0;
14780 val_t variable1;
14781 val_t variable2;
14782 val_t variable3;
14783 val_t variable4;
14784 val_t variable5;
14785 val_t variable6;
14786 val_t variable7;
14787 val_t variable8;
14788 val_t variable9;
14789 val_t variable10;
14790 val_t variable11;
14791 val_t variable12;
14792 val_t variable13;
14793 val_t variable14;
14794 val_t variable15;
14795 val_t variable16;
14796 val_t variable17;
14797 val_t variable18;
14798 val_t variable19;
14799 val_t variable20;
14800 val_t variable21;
14801 val_t variable22;
14802 trace.prev = tracehead; tracehead = &trace;
14803 variable0 = param0;
14804 variable1 = NIT_NULL /*null*/;
14805 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14806 variable2 = variable3;
14807 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14808 variable3 = variable4;
14809 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14810 variable4 = variable5;
14811 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14812 variable5 = variable6;
14813 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14814 variable6 = variable7;
14815 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14816 variable7 = variable8;
14817 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14818 variable8 = variable9;
14819 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14820 variable9 = variable10;
14821 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14822 variable10 = variable11;
14823 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14824 variable11 = variable12;
14825 variable12 = variable11 /*nodearraylist1*/;
14826 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14827 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7872,6--30\n"); nit_exit(1);}
14828 variable13 = variable10 /*nodearraylist2*/;
14829 variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14830 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7874,6--44\n"); nit_exit(1);}
14831 variable15 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/
14832 variable14 = variable15;
14833 variable15 = variable9 /*nodearraylist3*/;
14834 variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14835 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7880,6--38\n"); nit_exit(1);}
14836 variable16 = variable8 /*nodearraylist4*/;
14837 variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14838 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7882,6--44\n"); nit_exit(1);}
14839 variable17 = variable7 /*nodearraylist5*/;
14840 variable18 = TAG_Bool(( variable17 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14841 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7884,6--36\n"); nit_exit(1);}
14842 variable18 = variable6 /*nodearraylist6*/;
14843 variable19 = TAG_Bool(( variable18 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14844 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7886,6--37\n"); nit_exit(1);}
14845 variable19 = variable5 /*nodearraylist7*/;
14846 variable20 = TAG_Bool(( variable19 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
14847 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7888,6--33\n"); nit_exit(1);}
14848 variable20 = variable2 /*nodearraylist10*/;
14849 variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14850 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7890,6--33\n"); nit_exit(1);}
14851 variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable14 /*pablenode3*/, NIT_NULL /*null*/, variable15 /*tkwredefnode7*/, variable16 /*pvisibilitynode8*/, variable17 /*tkwattrnode9*/, variable18 /*tattridnode10*/, variable19 /*ptypenode11*/, variable20 /*pexprnode12*/); /*new AAttrPropdef*/
14852 variable21 = variable22;
14853 variable1 = variable21 /*ppropdefnode1*/ /*node_list=*/;
14854 variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14855 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/;
14856 tracehead = trace.prev;
14857 return;
14858 }
14859 void parser___ReduceAction155___init(val_t self, int* init_table) {
14860 struct trace_t trace = {NULL, "parser::ReduceAction155::init (src/parser//parser.nit:7905,1--4)"};
14861 trace.prev = tracehead; tracehead = &trace;
14862 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction155].i]) return;
14863 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction155].i] = 1;
14864 tracehead = trace.prev;
14865 return;
14866 }
14867 void parser___ReduceAction156___action(val_t self, val_t param0) {
14868 struct trace_t trace = {NULL, "parser::ReduceAction156::action (src/parser//parser.nit:7909,2--7964:34)"};
14869 val_t variable0;
14870 val_t variable1;
14871 val_t variable2;
14872 val_t variable3;
14873 val_t variable4;
14874 val_t variable5;
14875 val_t variable6;
14876 val_t variable7;
14877 val_t variable8;
14878 val_t variable9;
14879 val_t variable10;
14880 val_t variable11;
14881 val_t variable12;
14882 val_t variable13;
14883 val_t variable14;
14884 val_t variable15;
14885 val_t variable16;
14886 val_t variable17;
14887 val_t variable18;
14888 val_t variable19;
14889 val_t variable20;
14890 val_t variable21;
14891 val_t variable22;
14892 val_t variable23;
14893 val_t variable24;
14894 val_t variable25;
14895 val_t variable26;
14896 val_t variable27;
14897 trace.prev = tracehead; tracehead = &trace;
14898 variable0 = param0;
14899 variable1 = NIT_NULL /*null*/;
14900 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14901 variable2 = variable3;
14902 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14903 variable3 = variable4;
14904 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14905 variable4 = variable5;
14906 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14907 variable5 = variable6;
14908 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14909 variable6 = variable7;
14910 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14911 variable7 = variable8;
14912 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14913 variable8 = variable9;
14914 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14915 variable9 = variable10;
14916 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14917 variable10 = variable11;
14918 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14919 variable11 = variable12;
14920 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14921 variable12 = variable13;
14922 variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
14923 variable13 = variable14;
14924 variable14 = variable13 /*nodearraylist1*/;
14925 variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14926 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7925,6--30\n"); nit_exit(1);}
14927 variable15 = variable12 /*nodearraylist2*/;
14928 variable16 = TAG_Bool(( variable15 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14929 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7927,6--38\n"); nit_exit(1);}
14930 variable16 = variable11 /*nodearraylist3*/;
14931 variable17 = TAG_Bool(( variable16 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable16 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14932 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7929,6--44\n"); nit_exit(1);}
14933 variable18 = NEW_parser_prod___AReadAble___init_areadable( variable15 /*tkwredefnode4*/, variable16 /*tkwreadablenode5*/); /*new AReadAble*/
14934 variable17 = variable18;
14935 variable18 = variable10 /*nodearraylist4*/;
14936 variable19 = TAG_Bool(( variable18 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable18 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14937 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7935,6--44\n"); nit_exit(1);}
14938 variable20 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable18 /*tkwwritablenode8*/); /*new AWriteAble*/
14939 variable19 = variable20;
14940 variable20 = variable9 /*nodearraylist5*/;
14941 variable21 = TAG_Bool(( variable20 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable20 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14942 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7941,6--38\n"); nit_exit(1);}
14943 variable21 = variable8 /*nodearraylist6*/;
14944 variable22 = TAG_Bool(( variable21 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable21 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14945 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7943,6--45\n"); nit_exit(1);}
14946 variable22 = variable7 /*nodearraylist7*/;
14947 variable23 = TAG_Bool(( variable22 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable22 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14948 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7945,6--37\n"); nit_exit(1);}
14949 variable23 = variable6 /*nodearraylist8*/;
14950 variable24 = TAG_Bool(( variable23 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable23 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14951 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7947,6--37\n"); nit_exit(1);}
14952 variable24 = variable5 /*nodearraylist9*/;
14953 variable25 = TAG_Bool(( variable24 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable24 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
14954 if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7949,6--33\n"); nit_exit(1);}
14955 variable25 = variable2 /*nodearraylist12*/;
14956 variable26 = TAG_Bool(( variable25 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable25 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
14957 if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7951,6--33\n"); nit_exit(1);}
14958 variable27 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/, variable17 /*pablenode3*/, variable19 /*pablenode6*/, variable20 /*tkwredefnode9*/, variable21 /*pvisibilitynode10*/, variable22 /*tkwattrnode11*/, variable23 /*tattridnode12*/, variable24 /*ptypenode13*/, variable25 /*pexprnode14*/); /*new AAttrPropdef*/
14959 variable26 = variable27;
14960 variable1 = variable26 /*ppropdefnode1*/ /*node_list=*/;
14961 variable27 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14962 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable27, variable1 /*node_list*/) /*Parser::push*/;
14963 tracehead = trace.prev;
14964 return;
14965 }
14966 void parser___ReduceAction156___init(val_t self, int* init_table) {
14967 struct trace_t trace = {NULL, "parser::ReduceAction156::init (src/parser//parser.nit:7966,1--4)"};
14968 trace.prev = tracehead; tracehead = &trace;
14969 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction156].i]) return;
14970 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction156].i] = 1;
14971 tracehead = trace.prev;
14972 return;
14973 }
14974 void parser___ReduceAction157___action(val_t self, val_t param0) {
14975 struct trace_t trace = {NULL, "parser::ReduceAction157::action (src/parser//parser.nit:7970,2--8028:34)"};
14976 val_t variable0;
14977 val_t variable1;
14978 val_t variable2;
14979 val_t variable3;
14980 val_t variable4;
14981 val_t variable5;
14982 val_t variable6;
14983 val_t variable7;
14984 val_t variable8;
14985 val_t variable9;
14986 val_t variable10;
14987 val_t variable11;
14988 val_t variable12;
14989 val_t variable13;
14990 val_t variable14;
14991 val_t variable15;
14992 val_t variable16;
14993 val_t variable17;
14994 val_t variable18;
14995 val_t variable19;
14996 val_t variable20;
14997 val_t variable21;
14998 val_t variable22;
14999 val_t variable23;
15000 val_t variable24;
15001 val_t variable25;
15002 val_t variable26;
15003 val_t variable27;
15004 val_t variable28;
15005 val_t variable29;
15006 trace.prev = tracehead; tracehead = &trace;
15007 variable0 = param0;
15008 variable1 = NIT_NULL /*null*/;
15009 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15010 variable2 = variable3;
15011 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15012 variable3 = variable4;
15013 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15014 variable4 = variable5;
15015 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15016 variable5 = variable6;
15017 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15018 variable6 = variable7;
15019 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15020 variable7 = variable8;
15021 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15022 variable8 = variable9;
15023 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15024 variable9 = variable10;
15025 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15026 variable10 = variable11;
15027 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15028 variable11 = variable12;
15029 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15030 variable12 = variable13;
15031 variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15032 variable13 = variable14;
15033 variable15 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15034 variable14 = variable15;
15035 variable15 = variable14 /*nodearraylist1*/;
15036 variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15037 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7987,6--30\n"); nit_exit(1);}
15038 variable16 = variable13 /*nodearraylist2*/;
15039 variable17 = TAG_Bool(( variable16 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15040 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7989,6--38\n"); nit_exit(1);}
15041 variable17 = variable12 /*nodearraylist3*/;
15042 variable18 = TAG_Bool(( variable17 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable17 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
15043 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7991,6--44\n"); nit_exit(1);}
15044 variable19 = NEW_parser_prod___AReadAble___init_areadable( variable16 /*tkwredefnode4*/, variable17 /*tkwreadablenode5*/); /*new AReadAble*/
15045 variable18 = variable19;
15046 variable19 = variable11 /*nodearraylist4*/;
15047 variable20 = TAG_Bool(( variable19 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15048 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7997,6--38\n"); nit_exit(1);}
15049 variable20 = variable10 /*nodearraylist5*/;
15050 variable21 = TAG_Bool(( variable20 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable20 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
15051 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7999,6--44\n"); nit_exit(1);}
15052 variable22 = NEW_parser_prod___AWriteAble___init_awriteable( variable19 /*tkwredefnode7*/, variable20 /*tkwwritablenode8*/); /*new AWriteAble*/
15053 variable21 = variable22;
15054 variable22 = variable9 /*nodearraylist6*/;
15055 variable23 = TAG_Bool(( variable22 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable22 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15056 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8005,6--38\n"); nit_exit(1);}
15057 variable23 = variable8 /*nodearraylist7*/;
15058 variable24 = TAG_Bool(( variable23 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable23 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15059 if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8007,6--45\n"); nit_exit(1);}
15060 variable24 = variable7 /*nodearraylist8*/;
15061 variable25 = TAG_Bool(( variable24 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable24 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15062 if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8009,6--37\n"); nit_exit(1);}
15063 variable25 = variable6 /*nodearraylist9*/;
15064 variable26 = TAG_Bool(( variable25 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable25 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15065 if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8011,6--37\n"); nit_exit(1);}
15066 variable26 = variable5 /*nodearraylist10*/;
15067 variable27 = TAG_Bool(( variable26 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable26 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/;
15068 if (!UNTAG_Bool(variable27)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8013,6--33\n"); nit_exit(1);}
15069 variable27 = variable2 /*nodearraylist13*/;
15070 variable28 = TAG_Bool(( variable27 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable27 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15071 if (!UNTAG_Bool(variable28)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8015,6--33\n"); nit_exit(1);}
15072 variable29 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable15 /*pdocnode2*/, variable18 /*pablenode3*/, variable21 /*pablenode6*/, variable22 /*tkwredefnode9*/, variable23 /*pvisibilitynode10*/, variable24 /*tkwattrnode11*/, variable25 /*tattridnode12*/, variable26 /*ptypenode13*/, variable27 /*pexprnode14*/); /*new AAttrPropdef*/
15073 variable28 = variable29;
15074 variable1 = variable28 /*ppropdefnode1*/ /*node_list=*/;
15075 variable29 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15076 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable29, variable1 /*node_list*/) /*Parser::push*/;
15077 tracehead = trace.prev;
15078 return;
15079 }
15080 void parser___ReduceAction157___init(val_t self, int* init_table) {
15081 struct trace_t trace = {NULL, "parser::ReduceAction157::init (src/parser//parser.nit:8030,1--4)"};
15082 trace.prev = tracehead; tracehead = &trace;
15083 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction157].i]) return;
15084 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction157].i] = 1;
15085 tracehead = trace.prev;
15086 return;
15087 }
15088 void parser___ReduceAction158___action(val_t self, val_t param0) {
15089 struct trace_t trace = {NULL, "parser::ReduceAction158::action (src/parser//parser.nit:8034,2--8082:34)"};
15090 val_t variable0;
15091 val_t variable1;
15092 val_t variable2;
15093 val_t variable3;
15094 val_t variable4;
15095 val_t variable5;
15096 val_t variable6;
15097 val_t variable7;
15098 val_t variable8;
15099 val_t variable9;
15100 val_t variable10;
15101 val_t variable11;
15102 val_t variable12;
15103 val_t variable13;
15104 val_t variable14;
15105 val_t variable15;
15106 val_t variable16;
15107 val_t variable17;
15108 val_t variable18;
15109 val_t variable19;
15110 val_t variable20;
15111 val_t variable21;
15112 val_t variable22;
15113 val_t variable23;
15114 val_t variable24;
15115 trace.prev = tracehead; tracehead = &trace;
15116 variable0 = param0;
15117 variable1 = NIT_NULL /*null*/;
15118 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15119 variable2 = variable3;
15120 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15121 variable3 = variable4;
15122 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15123 variable4 = variable5;
15124 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15125 variable5 = variable6;
15126 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15127 variable6 = variable7;
15128 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15129 variable7 = variable8;
15130 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15131 variable8 = variable9;
15132 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15133 variable9 = variable10;
15134 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15135 variable10 = variable11;
15136 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15137 variable11 = variable12;
15138 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15139 variable12 = variable13;
15140 variable13 = variable12 /*nodearraylist1*/;
15141 variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15142 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8049,6--30\n"); nit_exit(1);}
15143 variable14 = variable11 /*nodearraylist2*/;
15144 variable15 = TAG_Bool(( variable14 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15145 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8051,6--38\n"); nit_exit(1);}
15146 variable15 = variable10 /*nodearraylist3*/;
15147 variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
15148 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8053,6--44\n"); nit_exit(1);}
15149 variable17 = NEW_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/, variable15 /*tkwreadablenode5*/); /*new AReadAble*/
15150 variable16 = variable17;
15151 variable17 = variable9 /*nodearraylist4*/;
15152 variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15153 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8059,6--38\n"); nit_exit(1);}
15154 variable18 = variable8 /*nodearraylist5*/;
15155 variable19 = TAG_Bool(( variable18 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15156 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8061,6--44\n"); nit_exit(1);}
15157 variable19 = variable7 /*nodearraylist6*/;
15158 variable20 = TAG_Bool(( variable19 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15159 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8063,6--36\n"); nit_exit(1);}
15160 variable20 = variable6 /*nodearraylist7*/;
15161 variable21 = TAG_Bool(( variable20 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15162 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8065,6--37\n"); nit_exit(1);}
15163 variable21 = variable5 /*nodearraylist8*/;
15164 variable22 = TAG_Bool(( variable21 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
15165 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8067,6--33\n"); nit_exit(1);}
15166 variable22 = variable2 /*nodearraylist11*/;
15167 variable23 = TAG_Bool(( variable22 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable22 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15168 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8069,6--33\n"); nit_exit(1);}
15169 variable24 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable16 /*pablenode3*/, NIT_NULL /*null*/, variable17 /*tkwredefnode7*/, variable18 /*pvisibilitynode8*/, variable19 /*tkwattrnode9*/, variable20 /*tattridnode10*/, variable21 /*ptypenode11*/, variable22 /*pexprnode12*/); /*new AAttrPropdef*/
15170 variable23 = variable24;
15171 variable1 = variable23 /*ppropdefnode1*/ /*node_list=*/;
15172 variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15173 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/;
15174 tracehead = trace.prev;
15175 return;
15176 }
15177 void parser___ReduceAction158___init(val_t self, int* init_table) {
15178 struct trace_t trace = {NULL, "parser::ReduceAction158::init (src/parser//parser.nit:8084,1--4)"};
15179 trace.prev = tracehead; tracehead = &trace;
15180 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction158].i]) return;
15181 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction158].i] = 1;
15182 tracehead = trace.prev;
15183 return;
15184 }
15185 void parser___ReduceAction159___action(val_t self, val_t param0) {
15186 struct trace_t trace = {NULL, "parser::ReduceAction159::action (src/parser//parser.nit:8088,2--8133:34)"};
15187 val_t variable0;
15188 val_t variable1;
15189 val_t variable2;
15190 val_t variable3;
15191 val_t variable4;
15192 val_t variable5;
15193 val_t variable6;
15194 val_t variable7;
15195 val_t variable8;
15196 val_t variable9;
15197 val_t variable10;
15198 val_t variable11;
15199 val_t variable12;
15200 val_t variable13;
15201 val_t variable14;
15202 val_t variable15;
15203 val_t variable16;
15204 val_t variable17;
15205 val_t variable18;
15206 val_t variable19;
15207 val_t variable20;
15208 val_t variable21;
15209 val_t variable22;
15210 trace.prev = tracehead; tracehead = &trace;
15211 variable0 = param0;
15212 variable1 = NIT_NULL /*null*/;
15213 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15214 variable2 = variable3;
15215 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15216 variable3 = variable4;
15217 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15218 variable4 = variable5;
15219 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15220 variable5 = variable6;
15221 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15222 variable6 = variable7;
15223 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15224 variable7 = variable8;
15225 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15226 variable8 = variable9;
15227 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15228 variable9 = variable10;
15229 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15230 variable10 = variable11;
15231 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15232 variable11 = variable12;
15233 variable12 = variable11 /*nodearraylist1*/;
15234 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15235 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8102,6--30\n"); nit_exit(1);}
15236 variable13 = variable10 /*nodearraylist2*/;
15237 variable14 = TAG_Bool(( variable13 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
15238 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8104,6--44\n"); nit_exit(1);}
15239 variable15 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable13 /*tkwwritablenode6*/); /*new AWriteAble*/
15240 variable14 = variable15;
15241 variable15 = variable9 /*nodearraylist3*/;
15242 variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15243 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8110,6--38\n"); nit_exit(1);}
15244 variable16 = variable8 /*nodearraylist4*/;
15245 variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15246 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8112,6--44\n"); nit_exit(1);}
15247 variable17 = variable7 /*nodearraylist5*/;
15248 variable18 = TAG_Bool(( variable17 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15249 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8114,6--36\n"); nit_exit(1);}
15250 variable18 = variable6 /*nodearraylist6*/;
15251 variable19 = TAG_Bool(( variable18 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15252 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8116,6--37\n"); nit_exit(1);}
15253 variable19 = variable5 /*nodearraylist7*/;
15254 variable20 = TAG_Bool(( variable19 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
15255 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8118,6--33\n"); nit_exit(1);}
15256 variable20 = variable2 /*nodearraylist10*/;
15257 variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15258 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8120,6--33\n"); nit_exit(1);}
15259 variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, NIT_NULL /*null*/, variable14 /*pablenode4*/, variable15 /*tkwredefnode7*/, variable16 /*pvisibilitynode8*/, variable17 /*tkwattrnode9*/, variable18 /*tattridnode10*/, variable19 /*ptypenode11*/, variable20 /*pexprnode12*/); /*new AAttrPropdef*/
15260 variable21 = variable22;
15261 variable1 = variable21 /*ppropdefnode1*/ /*node_list=*/;
15262 variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15263 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/;
15264 tracehead = trace.prev;
15265 return;
15266 }
15267 void parser___ReduceAction159___init(val_t self, int* init_table) {
15268 struct trace_t trace = {NULL, "parser::ReduceAction159::init (src/parser//parser.nit:8135,1--4)"};
15269 trace.prev = tracehead; tracehead = &trace;
15270 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction159].i]) return;
15271 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction159].i] = 1;
15272 tracehead = trace.prev;
15273 return;
15274 }
15275 void parser___ReduceAction160___action(val_t self, val_t param0) {
15276 struct trace_t trace = {NULL, "parser::ReduceAction160::action (src/parser//parser.nit:8139,2--8187:34)"};
15277 val_t variable0;
15278 val_t variable1;
15279 val_t variable2;
15280 val_t variable3;
15281 val_t variable4;
15282 val_t variable5;
15283 val_t variable6;
15284 val_t variable7;
15285 val_t variable8;
15286 val_t variable9;
15287 val_t variable10;
15288 val_t variable11;
15289 val_t variable12;
15290 val_t variable13;
15291 val_t variable14;
15292 val_t variable15;
15293 val_t variable16;
15294 val_t variable17;
15295 val_t variable18;
15296 val_t variable19;
15297 val_t variable20;
15298 val_t variable21;
15299 val_t variable22;
15300 val_t variable23;
15301 val_t variable24;
15302 trace.prev = tracehead; tracehead = &trace;
15303 variable0 = param0;
15304 variable1 = NIT_NULL /*null*/;
15305 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15306 variable2 = variable3;
15307 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15308 variable3 = variable4;
15309 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15310 variable4 = variable5;
15311 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15312 variable5 = variable6;
15313 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15314 variable6 = variable7;
15315 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15316 variable7 = variable8;
15317 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15318 variable8 = variable9;
15319 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15320 variable9 = variable10;
15321 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15322 variable10 = variable11;
15323 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15324 variable11 = variable12;
15325 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15326 variable12 = variable13;
15327 variable13 = variable12 /*nodearraylist1*/;
15328 variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15329 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8154,6--30\n"); nit_exit(1);}
15330 variable14 = variable11 /*nodearraylist2*/;
15331 variable15 = TAG_Bool(( variable14 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15332 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8156,6--38\n"); nit_exit(1);}
15333 variable15 = variable10 /*nodearraylist3*/;
15334 variable16 = TAG_Bool(( variable15 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
15335 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8158,6--44\n"); nit_exit(1);}
15336 variable17 = NEW_parser_prod___AWriteAble___init_awriteable( variable14 /*tkwredefnode5*/, variable15 /*tkwwritablenode6*/); /*new AWriteAble*/
15337 variable16 = variable17;
15338 variable17 = variable9 /*nodearraylist4*/;
15339 variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15340 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8164,6--38\n"); nit_exit(1);}
15341 variable18 = variable8 /*nodearraylist5*/;
15342 variable19 = TAG_Bool(( variable18 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15343 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8166,6--44\n"); nit_exit(1);}
15344 variable19 = variable7 /*nodearraylist6*/;
15345 variable20 = TAG_Bool(( variable19 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15346 if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8168,6--36\n"); nit_exit(1);}
15347 variable20 = variable6 /*nodearraylist7*/;
15348 variable21 = TAG_Bool(( variable20 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15349 if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8170,6--37\n"); nit_exit(1);}
15350 variable21 = variable5 /*nodearraylist8*/;
15351 variable22 = TAG_Bool(( variable21 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/;
15352 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8172,6--33\n"); nit_exit(1);}
15353 variable22 = variable2 /*nodearraylist11*/;
15354 variable23 = TAG_Bool(( variable22 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable22 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15355 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8174,6--33\n"); nit_exit(1);}
15356 variable24 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, NIT_NULL /*null*/, variable16 /*pablenode4*/, variable17 /*tkwredefnode7*/, variable18 /*pvisibilitynode8*/, variable19 /*tkwattrnode9*/, variable20 /*tattridnode10*/, variable21 /*ptypenode11*/, variable22 /*pexprnode12*/); /*new AAttrPropdef*/
15357 variable23 = variable24;
15358 variable1 = variable23 /*ppropdefnode1*/ /*node_list=*/;
15359 variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15360 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/;
15361 tracehead = trace.prev;
15362 return;
15363 }
15364 void parser___ReduceAction160___init(val_t self, int* init_table) {
15365 struct trace_t trace = {NULL, "parser::ReduceAction160::init (src/parser//parser.nit:8189,1--4)"};
15366 trace.prev = tracehead; tracehead = &trace;
15367 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction160].i]) return;
15368 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction160].i] = 1;
15369 tracehead = trace.prev;
15370 return;
15371 }
15372 void parser___ReduceAction161___action(val_t self, val_t param0) {
15373 struct trace_t trace = {NULL, "parser::ReduceAction161::action (src/parser//parser.nit:8193,2--8231:34)"};
15374 val_t variable0;
15375 val_t variable1;
15376 val_t variable2;
15377 val_t variable3;
15378 val_t variable4;
15379 val_t variable5;
15380 val_t variable6;
15381 val_t variable7;
15382 val_t variable8;
15383 val_t variable9;
15384 val_t variable10;
15385 val_t variable11;
15386 val_t variable12;
15387 val_t variable13;
15388 val_t variable14;
15389 val_t variable15;
15390 val_t variable16;
15391 val_t variable17;
15392 val_t variable18;
15393 val_t variable19;
15394 trace.prev = tracehead; tracehead = &trace;
15395 variable0 = param0;
15396 variable1 = NIT_NULL /*null*/;
15397 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15398 variable2 = variable3;
15399 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15400 variable3 = variable4;
15401 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15402 variable4 = variable5;
15403 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15404 variable5 = variable6;
15405 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15406 variable6 = variable7;
15407 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15408 variable7 = variable8;
15409 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15410 variable8 = variable9;
15411 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15412 variable9 = variable10;
15413 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15414 variable10 = variable11;
15415 variable11 = variable10 /*nodearraylist1*/;
15416 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15417 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8206,6--30\n"); nit_exit(1);}
15418 variable12 = variable9 /*nodearraylist2*/;
15419 variable13 = TAG_Bool(( variable12 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15420 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8208,6--38\n"); nit_exit(1);}
15421 variable13 = variable8 /*nodearraylist3*/;
15422 variable14 = TAG_Bool(( variable13 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15423 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8210,6--44\n"); nit_exit(1);}
15424 variable14 = variable7 /*nodearraylist4*/;
15425 variable15 = TAG_Bool(( variable14 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15426 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8212,6--36\n"); nit_exit(1);}
15427 variable15 = variable6 /*nodearraylist5*/;
15428 variable16 = TAG_Bool(( variable15 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15429 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8214,6--36\n"); nit_exit(1);}
15430 variable16 = variable5 /*nodearraylist6*/;
15431 variable17 = TAG_Bool(( variable16 /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/;
15432 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8216,6--32\n"); nit_exit(1);}
15433 variable17 = variable2 /*nodearraylist9*/;
15434 variable18 = TAG_Bool(( variable17 /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable17 /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
15435 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8218,6--33\n"); nit_exit(1);}
15436 variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable12 /*tkwredefnode5*/, variable13 /*pvisibilitynode6*/, variable14 /*tkwattrnode7*/, variable15 /*tattridnode8*/, variable16 /*ptypenode9*/, variable17 /*pexprnode10*/); /*new AAttrPropdef*/
15437 variable18 = variable19;
15438 variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/;
15439 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15440 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
15441 tracehead = trace.prev;
15442 return;
15443 }
15444 void parser___ReduceAction161___init(val_t self, int* init_table) {
15445 struct trace_t trace = {NULL, "parser::ReduceAction161::init (src/parser//parser.nit:8233,1--4)"};
15446 trace.prev = tracehead; tracehead = &trace;
15447 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction161].i]) return;
15448 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction161].i] = 1;
15449 tracehead = trace.prev;
15450 return;
15451 }
15452 void parser___ReduceAction162___action(val_t self, val_t param0) {
15453 struct trace_t trace = {NULL, "parser::ReduceAction162::action (src/parser//parser.nit:8237,2--8266:34)"};
15454 val_t variable0;
15455 val_t variable1;
15456 val_t variable2;
15457 val_t variable3;
15458 val_t variable4;
15459 val_t variable5;
15460 val_t variable6;
15461 val_t variable7;
15462 val_t variable8;
15463 val_t variable9;
15464 val_t variable10;
15465 val_t variable11;
15466 val_t variable12;
15467 val_t variable13;
15468 val_t variable14;
15469 val_t variable15;
15470 trace.prev = tracehead; tracehead = &trace;
15471 variable0 = param0;
15472 variable1 = NIT_NULL /*null*/;
15473 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15474 variable2 = variable3;
15475 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15476 variable3 = variable4;
15477 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15478 variable4 = variable5;
15479 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15480 variable5 = variable6;
15481 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15482 variable6 = variable7;
15483 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15484 variable7 = variable8;
15485 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15486 variable8 = variable9;
15487 variable9 = variable8 /*nodearraylist1*/;
15488 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15489 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8248,6--30\n"); nit_exit(1);}
15490 variable10 = variable7 /*nodearraylist2*/;
15491 variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15492 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8250,6--44\n"); nit_exit(1);}
15493 variable11 = variable6 /*nodearraylist3*/;
15494 variable12 = TAG_Bool(( variable11 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15495 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8252,6--36\n"); nit_exit(1);}
15496 variable12 = variable5 /*nodearraylist4*/;
15497 variable13 = TAG_Bool(( variable12 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15498 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8254,6--36\n"); nit_exit(1);}
15499 variable13 = variable4 /*nodearraylist5*/;
15500 variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15501 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8256,6--42\n"); nit_exit(1);}
15502 variable15 = NEW_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode4*/, variable11 /*tkwmethnode5*/, variable12 /*pmethidnode6*/, variable13 /*psignaturenode7*/); /*new ADeferredMethPropdef*/
15503 variable14 = variable15;
15504 variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/;
15505 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15506 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
15507 tracehead = trace.prev;
15508 return;
15509 }
15510 void parser___ReduceAction162___init(val_t self, int* init_table) {
15511 struct trace_t trace = {NULL, "parser::ReduceAction162::init (src/parser//parser.nit:8268,1--4)"};
15512 trace.prev = tracehead; tracehead = &trace;
15513 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction162].i]) return;
15514 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction162].i] = 1;
15515 tracehead = trace.prev;
15516 return;
15517 }
15518 void parser___ReduceAction163___action(val_t self, val_t param0) {
15519 struct trace_t trace = {NULL, "parser::ReduceAction163::action (src/parser//parser.nit:8272,2--8304:34)"};
15520 val_t variable0;
15521 val_t variable1;
15522 val_t variable2;
15523 val_t variable3;
15524 val_t variable4;
15525 val_t variable5;
15526 val_t variable6;
15527 val_t variable7;
15528 val_t variable8;
15529 val_t variable9;
15530 val_t variable10;
15531 val_t variable11;
15532 val_t variable12;
15533 val_t variable13;
15534 val_t variable14;
15535 val_t variable15;
15536 val_t variable16;
15537 val_t variable17;
15538 trace.prev = tracehead; tracehead = &trace;
15539 variable0 = param0;
15540 variable1 = NIT_NULL /*null*/;
15541 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15542 variable2 = variable3;
15543 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15544 variable3 = variable4;
15545 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15546 variable4 = variable5;
15547 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15548 variable5 = variable6;
15549 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15550 variable6 = variable7;
15551 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15552 variable7 = variable8;
15553 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15554 variable8 = variable9;
15555 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15556 variable9 = variable10;
15557 variable10 = variable9 /*nodearraylist1*/;
15558 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15559 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8284,6--30\n"); nit_exit(1);}
15560 variable11 = variable8 /*nodearraylist2*/;
15561 variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15562 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8286,6--38\n"); nit_exit(1);}
15563 variable12 = variable7 /*nodearraylist3*/;
15564 variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15565 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8288,6--44\n"); nit_exit(1);}
15566 variable13 = variable6 /*nodearraylist4*/;
15567 variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15568 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8290,6--36\n"); nit_exit(1);}
15569 variable14 = variable5 /*nodearraylist5*/;
15570 variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15571 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8292,6--36\n"); nit_exit(1);}
15572 variable15 = variable4 /*nodearraylist6*/;
15573 variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15574 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8294,6--42\n"); nit_exit(1);}
15575 variable17 = NEW_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable10 /*pdocnode2*/, variable11 /*tkwredefnode3*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwmethnode5*/, variable14 /*pmethidnode6*/, variable15 /*psignaturenode7*/); /*new ADeferredMethPropdef*/
15576 variable16 = variable17;
15577 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
15578 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15579 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
15580 tracehead = trace.prev;
15581 return;
15582 }
15583 void parser___ReduceAction163___init(val_t self, int* init_table) {
15584 struct trace_t trace = {NULL, "parser::ReduceAction163::init (src/parser//parser.nit:8306,1--4)"};
15585 trace.prev = tracehead; tracehead = &trace;
15586 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction163].i]) return;
15587 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction163].i] = 1;
15588 tracehead = trace.prev;
15589 return;
15590 }
15591 void parser___ReduceAction164___action(val_t self, val_t param0) {
15592 struct trace_t trace = {NULL, "parser::ReduceAction164::action (src/parser//parser.nit:8310,2--8339:34)"};
15593 val_t variable0;
15594 val_t variable1;
15595 val_t variable2;
15596 val_t variable3;
15597 val_t variable4;
15598 val_t variable5;
15599 val_t variable6;
15600 val_t variable7;
15601 val_t variable8;
15602 val_t variable9;
15603 val_t variable10;
15604 val_t variable11;
15605 val_t variable12;
15606 val_t variable13;
15607 val_t variable14;
15608 val_t variable15;
15609 trace.prev = tracehead; tracehead = &trace;
15610 variable0 = param0;
15611 variable1 = NIT_NULL /*null*/;
15612 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15613 variable2 = variable3;
15614 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15615 variable3 = variable4;
15616 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15617 variable4 = variable5;
15618 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15619 variable5 = variable6;
15620 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15621 variable6 = variable7;
15622 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15623 variable7 = variable8;
15624 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15625 variable8 = variable9;
15626 variable9 = variable8 /*nodearraylist1*/;
15627 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15628 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8321,6--30\n"); nit_exit(1);}
15629 variable10 = variable7 /*nodearraylist2*/;
15630 variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15631 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8323,6--44\n"); nit_exit(1);}
15632 variable11 = variable6 /*nodearraylist3*/;
15633 variable12 = TAG_Bool(( variable11 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15634 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8325,6--36\n"); nit_exit(1);}
15635 variable12 = variable5 /*nodearraylist4*/;
15636 variable13 = TAG_Bool(( variable12 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15637 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8327,6--36\n"); nit_exit(1);}
15638 variable13 = variable4 /*nodearraylist5*/;
15639 variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15640 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8329,6--42\n"); nit_exit(1);}
15641 variable15 = NEW_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode4*/, variable11 /*tkwmethnode5*/, variable12 /*pmethidnode6*/, variable13 /*psignaturenode7*/); /*new AInternMethPropdef*/
15642 variable14 = variable15;
15643 variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/;
15644 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15645 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
15646 tracehead = trace.prev;
15647 return;
15648 }
15649 void parser___ReduceAction164___init(val_t self, int* init_table) {
15650 struct trace_t trace = {NULL, "parser::ReduceAction164::init (src/parser//parser.nit:8341,1--4)"};
15651 trace.prev = tracehead; tracehead = &trace;
15652 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction164].i]) return;
15653 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction164].i] = 1;
15654 tracehead = trace.prev;
15655 return;
15656 }
15657 void parser___ReduceAction165___action(val_t self, val_t param0) {
15658 struct trace_t trace = {NULL, "parser::ReduceAction165::action (src/parser//parser.nit:8345,2--8377:34)"};
15659 val_t variable0;
15660 val_t variable1;
15661 val_t variable2;
15662 val_t variable3;
15663 val_t variable4;
15664 val_t variable5;
15665 val_t variable6;
15666 val_t variable7;
15667 val_t variable8;
15668 val_t variable9;
15669 val_t variable10;
15670 val_t variable11;
15671 val_t variable12;
15672 val_t variable13;
15673 val_t variable14;
15674 val_t variable15;
15675 val_t variable16;
15676 val_t variable17;
15677 trace.prev = tracehead; tracehead = &trace;
15678 variable0 = param0;
15679 variable1 = NIT_NULL /*null*/;
15680 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15681 variable2 = variable3;
15682 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15683 variable3 = variable4;
15684 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15685 variable4 = variable5;
15686 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15687 variable5 = variable6;
15688 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15689 variable6 = variable7;
15690 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15691 variable7 = variable8;
15692 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15693 variable8 = variable9;
15694 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15695 variable9 = variable10;
15696 variable10 = variable9 /*nodearraylist1*/;
15697 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15698 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8357,6--30\n"); nit_exit(1);}
15699 variable11 = variable8 /*nodearraylist2*/;
15700 variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15701 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8359,6--38\n"); nit_exit(1);}
15702 variable12 = variable7 /*nodearraylist3*/;
15703 variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15704 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8361,6--44\n"); nit_exit(1);}
15705 variable13 = variable6 /*nodearraylist4*/;
15706 variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15707 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8363,6--36\n"); nit_exit(1);}
15708 variable14 = variable5 /*nodearraylist5*/;
15709 variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15710 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8365,6--36\n"); nit_exit(1);}
15711 variable15 = variable4 /*nodearraylist6*/;
15712 variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15713 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8367,6--42\n"); nit_exit(1);}
15714 variable17 = NEW_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable10 /*pdocnode2*/, variable11 /*tkwredefnode3*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwmethnode5*/, variable14 /*pmethidnode6*/, variable15 /*psignaturenode7*/); /*new AInternMethPropdef*/
15715 variable16 = variable17;
15716 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
15717 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15718 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
15719 tracehead = trace.prev;
15720 return;
15721 }
15722 void parser___ReduceAction165___init(val_t self, int* init_table) {
15723 struct trace_t trace = {NULL, "parser::ReduceAction165::init (src/parser//parser.nit:8379,1--4)"};
15724 trace.prev = tracehead; tracehead = &trace;
15725 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction165].i]) return;
15726 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction165].i] = 1;
15727 tracehead = trace.prev;
15728 return;
15729 }
15730 void parser___ReduceAction166___action(val_t self, val_t param0) {
15731 struct trace_t trace = {NULL, "parser::ReduceAction166::action (src/parser//parser.nit:8383,2--8413:34)"};
15732 val_t variable0;
15733 val_t variable1;
15734 val_t variable2;
15735 val_t variable3;
15736 val_t variable4;
15737 val_t variable5;
15738 val_t variable6;
15739 val_t variable7;
15740 val_t variable8;
15741 val_t variable9;
15742 val_t variable10;
15743 val_t variable11;
15744 val_t variable12;
15745 val_t variable13;
15746 val_t variable14;
15747 val_t variable15;
15748 trace.prev = tracehead; tracehead = &trace;
15749 variable0 = param0;
15750 variable1 = NIT_NULL /*null*/;
15751 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15752 variable2 = variable3;
15753 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15754 variable3 = variable4;
15755 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15756 variable4 = variable5;
15757 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15758 variable5 = variable6;
15759 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15760 variable6 = variable7;
15761 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15762 variable7 = variable8;
15763 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15764 variable8 = variable9;
15765 variable9 = variable8 /*nodearraylist1*/;
15766 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15767 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8394,6--30\n"); nit_exit(1);}
15768 variable10 = variable7 /*nodearraylist2*/;
15769 variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15770 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8396,6--44\n"); nit_exit(1);}
15771 variable11 = variable6 /*nodearraylist3*/;
15772 variable12 = TAG_Bool(( variable11 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15773 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8398,6--36\n"); nit_exit(1);}
15774 variable12 = variable5 /*nodearraylist4*/;
15775 variable13 = TAG_Bool(( variable12 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15776 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8400,6--36\n"); nit_exit(1);}
15777 variable13 = variable4 /*nodearraylist5*/;
15778 variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15779 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8402,6--42\n"); nit_exit(1);}
15780 variable15 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode4*/, variable11 /*tkwmethnode5*/, variable12 /*pmethidnode6*/, variable13 /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
15781 variable14 = variable15;
15782 variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/;
15783 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15784 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
15785 tracehead = trace.prev;
15786 return;
15787 }
15788 void parser___ReduceAction166___init(val_t self, int* init_table) {
15789 struct trace_t trace = {NULL, "parser::ReduceAction166::init (src/parser//parser.nit:8415,1--4)"};
15790 trace.prev = tracehead; tracehead = &trace;
15791 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction166].i]) return;
15792 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction166].i] = 1;
15793 tracehead = trace.prev;
15794 return;
15795 }
15796 void parser___ReduceAction167___action(val_t self, val_t param0) {
15797 struct trace_t trace = {NULL, "parser::ReduceAction167::action (src/parser//parser.nit:8419,2--8452:34)"};
15798 val_t variable0;
15799 val_t variable1;
15800 val_t variable2;
15801 val_t variable3;
15802 val_t variable4;
15803 val_t variable5;
15804 val_t variable6;
15805 val_t variable7;
15806 val_t variable8;
15807 val_t variable9;
15808 val_t variable10;
15809 val_t variable11;
15810 val_t variable12;
15811 val_t variable13;
15812 val_t variable14;
15813 val_t variable15;
15814 val_t variable16;
15815 val_t variable17;
15816 trace.prev = tracehead; tracehead = &trace;
15817 variable0 = param0;
15818 variable1 = NIT_NULL /*null*/;
15819 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15820 variable2 = variable3;
15821 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15822 variable3 = variable4;
15823 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15824 variable4 = variable5;
15825 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15826 variable5 = variable6;
15827 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15828 variable6 = variable7;
15829 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15830 variable7 = variable8;
15831 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15832 variable8 = variable9;
15833 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15834 variable9 = variable10;
15835 variable10 = variable9 /*nodearraylist1*/;
15836 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15837 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8431,6--30\n"); nit_exit(1);}
15838 variable11 = variable8 /*nodearraylist2*/;
15839 variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15840 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8433,6--38\n"); nit_exit(1);}
15841 variable12 = variable7 /*nodearraylist3*/;
15842 variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15843 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8435,6--44\n"); nit_exit(1);}
15844 variable13 = variable6 /*nodearraylist4*/;
15845 variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15846 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8437,6--36\n"); nit_exit(1);}
15847 variable14 = variable5 /*nodearraylist5*/;
15848 variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15849 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8439,6--36\n"); nit_exit(1);}
15850 variable15 = variable4 /*nodearraylist6*/;
15851 variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15852 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8441,6--42\n"); nit_exit(1);}
15853 variable17 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/, variable11 /*tkwredefnode3*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwmethnode5*/, variable14 /*pmethidnode6*/, variable15 /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
15854 variable16 = variable17;
15855 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
15856 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15857 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
15858 tracehead = trace.prev;
15859 return;
15860 }
15861 void parser___ReduceAction167___init(val_t self, int* init_table) {
15862 struct trace_t trace = {NULL, "parser::ReduceAction167::init (src/parser//parser.nit:8454,1--4)"};
15863 trace.prev = tracehead; tracehead = &trace;
15864 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction167].i]) return;
15865 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction167].i] = 1;
15866 tracehead = trace.prev;
15867 return;
15868 }
15869 void parser___ReduceAction168___action(val_t self, val_t param0) {
15870 struct trace_t trace = {NULL, "parser::ReduceAction168::action (src/parser//parser.nit:8458,2--8491:34)"};
15871 val_t variable0;
15872 val_t variable1;
15873 val_t variable2;
15874 val_t variable3;
15875 val_t variable4;
15876 val_t variable5;
15877 val_t variable6;
15878 val_t variable7;
15879 val_t variable8;
15880 val_t variable9;
15881 val_t variable10;
15882 val_t variable11;
15883 val_t variable12;
15884 val_t variable13;
15885 val_t variable14;
15886 val_t variable15;
15887 val_t variable16;
15888 val_t variable17;
15889 trace.prev = tracehead; tracehead = &trace;
15890 variable0 = param0;
15891 variable1 = NIT_NULL /*null*/;
15892 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15893 variable2 = variable3;
15894 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15895 variable3 = variable4;
15896 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15897 variable4 = variable5;
15898 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15899 variable5 = variable6;
15900 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15901 variable6 = variable7;
15902 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15903 variable7 = variable8;
15904 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15905 variable8 = variable9;
15906 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15907 variable9 = variable10;
15908 variable10 = variable9 /*nodearraylist1*/;
15909 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15910 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8470,6--30\n"); nit_exit(1);}
15911 variable11 = variable8 /*nodearraylist2*/;
15912 variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15913 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8472,6--44\n"); nit_exit(1);}
15914 variable12 = variable7 /*nodearraylist3*/;
15915 variable13 = TAG_Bool(( variable12 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15916 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8474,6--36\n"); nit_exit(1);}
15917 variable13 = variable6 /*nodearraylist4*/;
15918 variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15919 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8476,6--36\n"); nit_exit(1);}
15920 variable14 = variable5 /*nodearraylist5*/;
15921 variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
15922 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8478,6--42\n"); nit_exit(1);}
15923 variable15 = variable2 /*nodearraylist8*/;
15924 variable16 = TAG_Bool(( variable15 /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable15 /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
15925 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8480,6--36\n"); nit_exit(1);}
15926 variable17 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode4*/, variable12 /*tkwmethnode5*/, variable13 /*pmethidnode6*/, variable14 /*psignaturenode7*/, variable15 /*tstringnode8*/); /*new AExternMethPropdef*/
15927 variable16 = variable17;
15928 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
15929 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15930 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
15931 tracehead = trace.prev;
15932 return;
15933 }
15934 void parser___ReduceAction168___init(val_t self, int* init_table) {
15935 struct trace_t trace = {NULL, "parser::ReduceAction168::init (src/parser//parser.nit:8493,1--4)"};
15936 trace.prev = tracehead; tracehead = &trace;
15937 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction168].i]) return;
15938 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction168].i] = 1;
15939 tracehead = trace.prev;
15940 return;
15941 }
15942 void parser___ReduceAction169___action(val_t self, val_t param0) {
15943 struct trace_t trace = {NULL, "parser::ReduceAction169::action (src/parser//parser.nit:8497,2--8533:34)"};
15944 val_t variable0;
15945 val_t variable1;
15946 val_t variable2;
15947 val_t variable3;
15948 val_t variable4;
15949 val_t variable5;
15950 val_t variable6;
15951 val_t variable7;
15952 val_t variable8;
15953 val_t variable9;
15954 val_t variable10;
15955 val_t variable11;
15956 val_t variable12;
15957 val_t variable13;
15958 val_t variable14;
15959 val_t variable15;
15960 val_t variable16;
15961 val_t variable17;
15962 val_t variable18;
15963 val_t variable19;
15964 trace.prev = tracehead; tracehead = &trace;
15965 variable0 = param0;
15966 variable1 = NIT_NULL /*null*/;
15967 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15968 variable2 = variable3;
15969 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15970 variable3 = variable4;
15971 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15972 variable4 = variable5;
15973 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15974 variable5 = variable6;
15975 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15976 variable6 = variable7;
15977 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15978 variable7 = variable8;
15979 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15980 variable8 = variable9;
15981 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15982 variable9 = variable10;
15983 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
15984 variable10 = variable11;
15985 variable11 = variable10 /*nodearraylist1*/;
15986 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15987 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8510,6--30\n"); nit_exit(1);}
15988 variable12 = variable9 /*nodearraylist2*/;
15989 variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15990 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8512,6--38\n"); nit_exit(1);}
15991 variable13 = variable8 /*nodearraylist3*/;
15992 variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15993 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8514,6--44\n"); nit_exit(1);}
15994 variable14 = variable7 /*nodearraylist4*/;
15995 variable15 = TAG_Bool(( variable14 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
15996 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8516,6--36\n"); nit_exit(1);}
15997 variable15 = variable6 /*nodearraylist5*/;
15998 variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
15999 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8518,6--36\n"); nit_exit(1);}
16000 variable16 = variable5 /*nodearraylist6*/;
16001 variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16002 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8520,6--42\n"); nit_exit(1);}
16003 variable17 = variable2 /*nodearraylist9*/;
16004 variable18 = TAG_Bool(( variable17 /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable17 /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
16005 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8522,6--36\n"); nit_exit(1);}
16006 variable19 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable11 /*pdocnode2*/, variable12 /*tkwredefnode3*/, variable13 /*pvisibilitynode4*/, variable14 /*tkwmethnode5*/, variable15 /*pmethidnode6*/, variable16 /*psignaturenode7*/, variable17 /*tstringnode8*/); /*new AExternMethPropdef*/
16007 variable18 = variable19;
16008 variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/;
16009 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16010 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
16011 tracehead = trace.prev;
16012 return;
16013 }
16014 void parser___ReduceAction169___init(val_t self, int* init_table) {
16015 struct trace_t trace = {NULL, "parser::ReduceAction169::init (src/parser//parser.nit:8535,1--4)"};
16016 trace.prev = tracehead; tracehead = &trace;
16017 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction169].i]) return;
16018 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction169].i] = 1;
16019 tracehead = trace.prev;
16020 return;
16021 }
16022 void parser___ReduceAction170___action(val_t self, val_t param0) {
16023 struct trace_t trace = {NULL, "parser::ReduceAction170::action (src/parser//parser.nit:8539,2--8572:34)"};
16024 val_t variable0;
16025 val_t variable1;
16026 val_t variable2;
16027 val_t variable3;
16028 val_t variable4;
16029 val_t variable5;
16030 val_t variable6;
16031 val_t variable7;
16032 val_t variable8;
16033 val_t variable9;
16034 val_t variable10;
16035 val_t variable11;
16036 val_t variable12;
16037 val_t variable13;
16038 val_t variable14;
16039 val_t variable15;
16040 val_t variable16;
16041 val_t variable17;
16042 trace.prev = tracehead; tracehead = &trace;
16043 variable0 = param0;
16044 variable1 = NIT_NULL /*null*/;
16045 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16046 variable2 = variable3;
16047 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16048 variable3 = variable4;
16049 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16050 variable4 = variable5;
16051 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16052 variable5 = variable6;
16053 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16054 variable6 = variable7;
16055 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16056 variable7 = variable8;
16057 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16058 variable8 = variable9;
16059 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16060 variable9 = variable10;
16061 variable10 = variable9 /*nodearraylist1*/;
16062 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16063 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8551,6--30\n"); nit_exit(1);}
16064 variable11 = variable8 /*nodearraylist2*/;
16065 variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16066 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8553,6--44\n"); nit_exit(1);}
16067 variable12 = variable7 /*nodearraylist3*/;
16068 variable13 = TAG_Bool(( variable12 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16069 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8555,6--36\n"); nit_exit(1);}
16070 variable13 = variable6 /*nodearraylist4*/;
16071 variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16072 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8557,6--36\n"); nit_exit(1);}
16073 variable14 = variable5 /*nodearraylist5*/;
16074 variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16075 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8559,6--42\n"); nit_exit(1);}
16076 variable15 = variable2 /*nodearraylist8*/;
16077 variable16 = TAG_Bool(( variable15 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16078 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8561,6--32\n"); nit_exit(1);}
16079 variable17 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode4*/, variable12 /*tkwmethnode5*/, variable13 /*pmethidnode6*/, variable14 /*psignaturenode7*/, variable15 /*pexprnode8*/); /*new AConcreteMethPropdef*/
16080 variable16 = variable17;
16081 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
16082 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16083 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
16084 tracehead = trace.prev;
16085 return;
16086 }
16087 void parser___ReduceAction170___init(val_t self, int* init_table) {
16088 struct trace_t trace = {NULL, "parser::ReduceAction170::init (src/parser//parser.nit:8574,1--4)"};
16089 trace.prev = tracehead; tracehead = &trace;
16090 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction170].i]) return;
16091 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction170].i] = 1;
16092 tracehead = trace.prev;
16093 return;
16094 }
16095 void parser___ReduceAction171___action(val_t self, val_t param0) {
16096 struct trace_t trace = {NULL, "parser::ReduceAction171::action (src/parser//parser.nit:8578,2--8614:34)"};
16097 val_t variable0;
16098 val_t variable1;
16099 val_t variable2;
16100 val_t variable3;
16101 val_t variable4;
16102 val_t variable5;
16103 val_t variable6;
16104 val_t variable7;
16105 val_t variable8;
16106 val_t variable9;
16107 val_t variable10;
16108 val_t variable11;
16109 val_t variable12;
16110 val_t variable13;
16111 val_t variable14;
16112 val_t variable15;
16113 val_t variable16;
16114 val_t variable17;
16115 val_t variable18;
16116 val_t variable19;
16117 trace.prev = tracehead; tracehead = &trace;
16118 variable0 = param0;
16119 variable1 = NIT_NULL /*null*/;
16120 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16121 variable2 = variable3;
16122 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16123 variable3 = variable4;
16124 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16125 variable4 = variable5;
16126 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16127 variable5 = variable6;
16128 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16129 variable6 = variable7;
16130 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16131 variable7 = variable8;
16132 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16133 variable8 = variable9;
16134 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16135 variable9 = variable10;
16136 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16137 variable10 = variable11;
16138 variable11 = variable10 /*nodearraylist1*/;
16139 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16140 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8591,6--30\n"); nit_exit(1);}
16141 variable12 = variable9 /*nodearraylist2*/;
16142 variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16143 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8593,6--38\n"); nit_exit(1);}
16144 variable13 = variable8 /*nodearraylist3*/;
16145 variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16146 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8595,6--44\n"); nit_exit(1);}
16147 variable14 = variable7 /*nodearraylist4*/;
16148 variable15 = TAG_Bool(( variable14 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16149 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8597,6--36\n"); nit_exit(1);}
16150 variable15 = variable6 /*nodearraylist5*/;
16151 variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16152 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8599,6--36\n"); nit_exit(1);}
16153 variable16 = variable5 /*nodearraylist6*/;
16154 variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16155 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8601,6--42\n"); nit_exit(1);}
16156 variable17 = variable2 /*nodearraylist9*/;
16157 variable18 = TAG_Bool(( variable17 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable17 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16158 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8603,6--32\n"); nit_exit(1);}
16159 variable19 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable11 /*pdocnode2*/, variable12 /*tkwredefnode3*/, variable13 /*pvisibilitynode4*/, variable14 /*tkwmethnode5*/, variable15 /*pmethidnode6*/, variable16 /*psignaturenode7*/, variable17 /*pexprnode8*/); /*new AConcreteMethPropdef*/
16160 variable18 = variable19;
16161 variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/;
16162 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16163 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
16164 tracehead = trace.prev;
16165 return;
16166 }
16167 void parser___ReduceAction171___init(val_t self, int* init_table) {
16168 struct trace_t trace = {NULL, "parser::ReduceAction171::init (src/parser//parser.nit:8616,1--4)"};
16169 trace.prev = tracehead; tracehead = &trace;
16170 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction171].i]) return;
16171 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction171].i] = 1;
16172 tracehead = trace.prev;
16173 return;
16174 }
16175 void parser___ReduceAction172___action(val_t self, val_t param0) {
16176 struct trace_t trace = {NULL, "parser::ReduceAction172::action (src/parser//parser.nit:8620,2--8654:34)"};
16177 val_t variable0;
16178 val_t variable1;
16179 val_t variable2;
16180 val_t variable3;
16181 val_t variable4;
16182 val_t variable5;
16183 val_t variable6;
16184 val_t variable7;
16185 val_t variable8;
16186 val_t variable9;
16187 val_t variable10;
16188 val_t variable11;
16189 val_t variable12;
16190 val_t variable13;
16191 val_t variable14;
16192 val_t variable15;
16193 val_t variable16;
16194 val_t variable17;
16195 val_t variable18;
16196 trace.prev = tracehead; tracehead = &trace;
16197 variable0 = param0;
16198 variable1 = NIT_NULL /*null*/;
16199 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16200 variable2 = variable3;
16201 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16202 variable3 = variable4;
16203 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16204 variable4 = variable5;
16205 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16206 variable5 = variable6;
16207 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16208 variable6 = variable7;
16209 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16210 variable7 = variable8;
16211 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16212 variable8 = variable9;
16213 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16214 variable9 = variable10;
16215 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16216 variable10 = variable11;
16217 variable11 = variable10 /*nodearraylist1*/;
16218 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16219 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8633,6--30\n"); nit_exit(1);}
16220 variable12 = variable9 /*nodearraylist2*/;
16221 variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16222 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8635,6--44\n"); nit_exit(1);}
16223 variable13 = variable8 /*nodearraylist3*/;
16224 variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16225 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8637,6--36\n"); nit_exit(1);}
16226 variable14 = variable7 /*nodearraylist4*/;
16227 variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16228 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8639,6--36\n"); nit_exit(1);}
16229 variable15 = variable6 /*nodearraylist5*/;
16230 variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16231 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8641,6--42\n"); nit_exit(1);}
16232 variable16 = variable3 /*nodearraylist8*/;
16233 variable17 = TAG_Bool(( variable16 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16234 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8643,6--32\n"); nit_exit(1);}
16235 variable18 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable11 /*pdocnode2*/, NIT_NULL /*null*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwmethnode5*/, variable14 /*pmethidnode6*/, variable15 /*psignaturenode7*/, variable16 /*pexprnode8*/); /*new AConcreteMethPropdef*/
16236 variable17 = variable18;
16237 variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/;
16238 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16239 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
16240 tracehead = trace.prev;
16241 return;
16242 }
16243 void parser___ReduceAction172___init(val_t self, int* init_table) {
16244 struct trace_t trace = {NULL, "parser::ReduceAction172::init (src/parser//parser.nit:8656,1--4)"};
16245 trace.prev = tracehead; tracehead = &trace;
16246 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction172].i]) return;
16247 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction172].i] = 1;
16248 tracehead = trace.prev;
16249 return;
16250 }
16251 void parser___ReduceAction173___action(val_t self, val_t param0) {
16252 struct trace_t trace = {NULL, "parser::ReduceAction173::action (src/parser//parser.nit:8660,2--8697:34)"};
16253 val_t variable0;
16254 val_t variable1;
16255 val_t variable2;
16256 val_t variable3;
16257 val_t variable4;
16258 val_t variable5;
16259 val_t variable6;
16260 val_t variable7;
16261 val_t variable8;
16262 val_t variable9;
16263 val_t variable10;
16264 val_t variable11;
16265 val_t variable12;
16266 val_t variable13;
16267 val_t variable14;
16268 val_t variable15;
16269 val_t variable16;
16270 val_t variable17;
16271 val_t variable18;
16272 val_t variable19;
16273 val_t variable20;
16274 trace.prev = tracehead; tracehead = &trace;
16275 variable0 = param0;
16276 variable1 = NIT_NULL /*null*/;
16277 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16278 variable2 = variable3;
16279 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16280 variable3 = variable4;
16281 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16282 variable4 = variable5;
16283 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16284 variable5 = variable6;
16285 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16286 variable6 = variable7;
16287 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16288 variable7 = variable8;
16289 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16290 variable8 = variable9;
16291 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16292 variable9 = variable10;
16293 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16294 variable10 = variable11;
16295 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16296 variable11 = variable12;
16297 variable12 = variable11 /*nodearraylist1*/;
16298 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16299 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8674,6--30\n"); nit_exit(1);}
16300 variable13 = variable10 /*nodearraylist2*/;
16301 variable14 = TAG_Bool(( variable13 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16302 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8676,6--38\n"); nit_exit(1);}
16303 variable14 = variable9 /*nodearraylist3*/;
16304 variable15 = TAG_Bool(( variable14 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16305 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8678,6--44\n"); nit_exit(1);}
16306 variable15 = variable8 /*nodearraylist4*/;
16307 variable16 = TAG_Bool(( variable15 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
16308 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8680,6--36\n"); nit_exit(1);}
16309 variable16 = variable7 /*nodearraylist5*/;
16310 variable17 = TAG_Bool(( variable16 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable16 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16311 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8682,6--36\n"); nit_exit(1);}
16312 variable17 = variable6 /*nodearraylist6*/;
16313 variable18 = TAG_Bool(( variable17 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable17 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16314 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8684,6--42\n"); nit_exit(1);}
16315 variable18 = variable3 /*nodearraylist9*/;
16316 variable19 = TAG_Bool(( variable18 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16317 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8686,6--32\n"); nit_exit(1);}
16318 variable20 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable12 /*pdocnode2*/, variable13 /*tkwredefnode3*/, variable14 /*pvisibilitynode4*/, variable15 /*tkwmethnode5*/, variable16 /*pmethidnode6*/, variable17 /*psignaturenode7*/, variable18 /*pexprnode8*/); /*new AConcreteMethPropdef*/
16319 variable19 = variable20;
16320 variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/;
16321 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16322 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
16323 tracehead = trace.prev;
16324 return;
16325 }
16326 void parser___ReduceAction173___init(val_t self, int* init_table) {
16327 struct trace_t trace = {NULL, "parser::ReduceAction173::init (src/parser//parser.nit:8699,1--4)"};
16328 trace.prev = tracehead; tracehead = &trace;
16329 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction173].i]) return;
16330 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction173].i] = 1;
16331 tracehead = trace.prev;
16332 return;
16333 }
16334 void parser___ReduceAction174___action(val_t self, val_t param0) {
16335 struct trace_t trace = {NULL, "parser::ReduceAction174::action (src/parser//parser.nit:8703,2--8733:34)"};
16336 val_t variable0;
16337 val_t variable1;
16338 val_t variable2;
16339 val_t variable3;
16340 val_t variable4;
16341 val_t variable5;
16342 val_t variable6;
16343 val_t variable7;
16344 val_t variable8;
16345 val_t variable9;
16346 val_t variable10;
16347 val_t variable11;
16348 val_t variable12;
16349 val_t variable13;
16350 val_t variable14;
16351 val_t variable15;
16352 trace.prev = tracehead; tracehead = &trace;
16353 variable0 = param0;
16354 variable1 = NIT_NULL /*null*/;
16355 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16356 variable2 = variable3;
16357 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16358 variable3 = variable4;
16359 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16360 variable4 = variable5;
16361 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16362 variable5 = variable6;
16363 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16364 variable6 = variable7;
16365 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16366 variable7 = variable8;
16367 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16368 variable8 = variable9;
16369 variable9 = variable8 /*nodearraylist1*/;
16370 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16371 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8714,6--30\n"); nit_exit(1);}
16372 variable10 = variable7 /*nodearraylist2*/;
16373 variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16374 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8716,6--44\n"); nit_exit(1);}
16375 variable11 = variable6 /*nodearraylist3*/;
16376 variable12 = TAG_Bool(( variable11 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
16377 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8718,6--36\n"); nit_exit(1);}
16378 variable12 = variable5 /*nodearraylist4*/;
16379 variable13 = TAG_Bool(( variable12 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable12 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16380 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8720,6--42\n"); nit_exit(1);}
16381 variable13 = variable2 /*nodearraylist7*/;
16382 variable14 = TAG_Bool(( variable13 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16383 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8722,6--32\n"); nit_exit(1);}
16384 variable15 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode4*/, variable11 /*tkwinitnode5*/, NIT_NULL /*null*/, variable12 /*psignaturenode7*/, variable13 /*pexprnode8*/); /*new AConcreteInitPropdef*/
16385 variable14 = variable15;
16386 variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/;
16387 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16388 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
16389 tracehead = trace.prev;
16390 return;
16391 }
16392 void parser___ReduceAction174___init(val_t self, int* init_table) {
16393 struct trace_t trace = {NULL, "parser::ReduceAction174::init (src/parser//parser.nit:8735,1--4)"};
16394 trace.prev = tracehead; tracehead = &trace;
16395 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction174].i]) return;
16396 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction174].i] = 1;
16397 tracehead = trace.prev;
16398 return;
16399 }
16400 void parser___ReduceAction175___action(val_t self, val_t param0) {
16401 struct trace_t trace = {NULL, "parser::ReduceAction175::action (src/parser//parser.nit:8739,2--8772:34)"};
16402 val_t variable0;
16403 val_t variable1;
16404 val_t variable2;
16405 val_t variable3;
16406 val_t variable4;
16407 val_t variable5;
16408 val_t variable6;
16409 val_t variable7;
16410 val_t variable8;
16411 val_t variable9;
16412 val_t variable10;
16413 val_t variable11;
16414 val_t variable12;
16415 val_t variable13;
16416 val_t variable14;
16417 val_t variable15;
16418 val_t variable16;
16419 val_t variable17;
16420 trace.prev = tracehead; tracehead = &trace;
16421 variable0 = param0;
16422 variable1 = NIT_NULL /*null*/;
16423 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16424 variable2 = variable3;
16425 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16426 variable3 = variable4;
16427 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16428 variable4 = variable5;
16429 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16430 variable5 = variable6;
16431 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16432 variable6 = variable7;
16433 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16434 variable7 = variable8;
16435 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16436 variable8 = variable9;
16437 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16438 variable9 = variable10;
16439 variable10 = variable9 /*nodearraylist1*/;
16440 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16441 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8751,6--30\n"); nit_exit(1);}
16442 variable11 = variable8 /*nodearraylist2*/;
16443 variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16444 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8753,6--38\n"); nit_exit(1);}
16445 variable12 = variable7 /*nodearraylist3*/;
16446 variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16447 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8755,6--44\n"); nit_exit(1);}
16448 variable13 = variable6 /*nodearraylist4*/;
16449 variable14 = TAG_Bool(( variable13 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
16450 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8757,6--36\n"); nit_exit(1);}
16451 variable14 = variable5 /*nodearraylist5*/;
16452 variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16453 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8759,6--42\n"); nit_exit(1);}
16454 variable15 = variable2 /*nodearraylist8*/;
16455 variable16 = TAG_Bool(( variable15 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16456 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8761,6--32\n"); nit_exit(1);}
16457 variable17 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable10 /*pdocnode2*/, variable11 /*tkwredefnode3*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwinitnode5*/, NIT_NULL /*null*/, variable14 /*psignaturenode7*/, variable15 /*pexprnode8*/); /*new AConcreteInitPropdef*/
16458 variable16 = variable17;
16459 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
16460 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16461 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
16462 tracehead = trace.prev;
16463 return;
16464 }
16465 void parser___ReduceAction175___init(val_t self, int* init_table) {
16466 struct trace_t trace = {NULL, "parser::ReduceAction175::init (src/parser//parser.nit:8774,1--4)"};
16467 trace.prev = tracehead; tracehead = &trace;
16468 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction175].i]) return;
16469 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction175].i] = 1;
16470 tracehead = trace.prev;
16471 return;
16472 }
16473 void parser___ReduceAction176___action(val_t self, val_t param0) {
16474 struct trace_t trace = {NULL, "parser::ReduceAction176::action (src/parser//parser.nit:8778,2--8811:34)"};
16475 val_t variable0;
16476 val_t variable1;
16477 val_t variable2;
16478 val_t variable3;
16479 val_t variable4;
16480 val_t variable5;
16481 val_t variable6;
16482 val_t variable7;
16483 val_t variable8;
16484 val_t variable9;
16485 val_t variable10;
16486 val_t variable11;
16487 val_t variable12;
16488 val_t variable13;
16489 val_t variable14;
16490 val_t variable15;
16491 val_t variable16;
16492 val_t variable17;
16493 trace.prev = tracehead; tracehead = &trace;
16494 variable0 = param0;
16495 variable1 = NIT_NULL /*null*/;
16496 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16497 variable2 = variable3;
16498 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16499 variable3 = variable4;
16500 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16501 variable4 = variable5;
16502 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16503 variable5 = variable6;
16504 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16505 variable6 = variable7;
16506 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16507 variable7 = variable8;
16508 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16509 variable8 = variable9;
16510 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16511 variable9 = variable10;
16512 variable10 = variable9 /*nodearraylist1*/;
16513 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16514 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8790,6--30\n"); nit_exit(1);}
16515 variable11 = variable8 /*nodearraylist2*/;
16516 variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16517 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8792,6--44\n"); nit_exit(1);}
16518 variable12 = variable7 /*nodearraylist3*/;
16519 variable13 = TAG_Bool(( variable12 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
16520 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8794,6--36\n"); nit_exit(1);}
16521 variable13 = variable6 /*nodearraylist4*/;
16522 variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16523 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8796,6--36\n"); nit_exit(1);}
16524 variable14 = variable5 /*nodearraylist5*/;
16525 variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16526 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8798,6--42\n"); nit_exit(1);}
16527 variable15 = variable2 /*nodearraylist8*/;
16528 variable16 = TAG_Bool(( variable15 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16529 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8800,6--32\n"); nit_exit(1);}
16530 variable17 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode4*/, variable12 /*tkwinitnode5*/, variable13 /*pmethidnode6*/, variable14 /*psignaturenode7*/, variable15 /*pexprnode8*/); /*new AConcreteInitPropdef*/
16531 variable16 = variable17;
16532 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
16533 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16534 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
16535 tracehead = trace.prev;
16536 return;
16537 }
16538 void parser___ReduceAction176___init(val_t self, int* init_table) {
16539 struct trace_t trace = {NULL, "parser::ReduceAction176::init (src/parser//parser.nit:8813,1--4)"};
16540 trace.prev = tracehead; tracehead = &trace;
16541 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction176].i]) return;
16542 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction176].i] = 1;
16543 tracehead = trace.prev;
16544 return;
16545 }
16546 void parser___ReduceAction177___action(val_t self, val_t param0) {
16547 struct trace_t trace = {NULL, "parser::ReduceAction177::action (src/parser//parser.nit:8817,2--8853:34)"};
16548 val_t variable0;
16549 val_t variable1;
16550 val_t variable2;
16551 val_t variable3;
16552 val_t variable4;
16553 val_t variable5;
16554 val_t variable6;
16555 val_t variable7;
16556 val_t variable8;
16557 val_t variable9;
16558 val_t variable10;
16559 val_t variable11;
16560 val_t variable12;
16561 val_t variable13;
16562 val_t variable14;
16563 val_t variable15;
16564 val_t variable16;
16565 val_t variable17;
16566 val_t variable18;
16567 val_t variable19;
16568 trace.prev = tracehead; tracehead = &trace;
16569 variable0 = param0;
16570 variable1 = NIT_NULL /*null*/;
16571 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16572 variable2 = variable3;
16573 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16574 variable3 = variable4;
16575 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16576 variable4 = variable5;
16577 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16578 variable5 = variable6;
16579 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16580 variable6 = variable7;
16581 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16582 variable7 = variable8;
16583 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16584 variable8 = variable9;
16585 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16586 variable9 = variable10;
16587 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16588 variable10 = variable11;
16589 variable11 = variable10 /*nodearraylist1*/;
16590 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16591 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8830,6--30\n"); nit_exit(1);}
16592 variable12 = variable9 /*nodearraylist2*/;
16593 variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16594 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8832,6--38\n"); nit_exit(1);}
16595 variable13 = variable8 /*nodearraylist3*/;
16596 variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16597 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8834,6--44\n"); nit_exit(1);}
16598 variable14 = variable7 /*nodearraylist4*/;
16599 variable15 = TAG_Bool(( variable14 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
16600 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8836,6--36\n"); nit_exit(1);}
16601 variable15 = variable6 /*nodearraylist5*/;
16602 variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16603 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8838,6--36\n"); nit_exit(1);}
16604 variable16 = variable5 /*nodearraylist6*/;
16605 variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16606 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8840,6--42\n"); nit_exit(1);}
16607 variable17 = variable2 /*nodearraylist9*/;
16608 variable18 = TAG_Bool(( variable17 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable17 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16609 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8842,6--32\n"); nit_exit(1);}
16610 variable19 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable11 /*pdocnode2*/, variable12 /*tkwredefnode3*/, variable13 /*pvisibilitynode4*/, variable14 /*tkwinitnode5*/, variable15 /*pmethidnode6*/, variable16 /*psignaturenode7*/, variable17 /*pexprnode8*/); /*new AConcreteInitPropdef*/
16611 variable18 = variable19;
16612 variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/;
16613 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16614 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
16615 tracehead = trace.prev;
16616 return;
16617 }
16618 void parser___ReduceAction177___init(val_t self, int* init_table) {
16619 struct trace_t trace = {NULL, "parser::ReduceAction177::init (src/parser//parser.nit:8855,1--4)"};
16620 trace.prev = tracehead; tracehead = &trace;
16621 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction177].i]) return;
16622 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction177].i] = 1;
16623 tracehead = trace.prev;
16624 return;
16625 }
16626 void parser___ReduceAction178___action(val_t self, val_t param0) {
16627 struct trace_t trace = {NULL, "parser::ReduceAction178::action (src/parser//parser.nit:8859,2--8890:34)"};
16628 val_t variable0;
16629 val_t variable1;
16630 val_t variable2;
16631 val_t variable3;
16632 val_t variable4;
16633 val_t variable5;
16634 val_t variable6;
16635 val_t variable7;
16636 val_t variable8;
16637 val_t variable9;
16638 val_t variable10;
16639 val_t variable11;
16640 val_t variable12;
16641 val_t variable13;
16642 val_t variable14;
16643 val_t variable15;
16644 val_t variable16;
16645 trace.prev = tracehead; tracehead = &trace;
16646 variable0 = param0;
16647 variable1 = NIT_NULL /*null*/;
16648 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16649 variable2 = variable3;
16650 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16651 variable3 = variable4;
16652 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16653 variable4 = variable5;
16654 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16655 variable5 = variable6;
16656 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16657 variable6 = variable7;
16658 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16659 variable7 = variable8;
16660 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16661 variable8 = variable9;
16662 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16663 variable9 = variable10;
16664 variable10 = variable9 /*nodearraylist1*/;
16665 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16666 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8871,6--30\n"); nit_exit(1);}
16667 variable11 = variable8 /*nodearraylist2*/;
16668 variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16669 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8873,6--44\n"); nit_exit(1);}
16670 variable12 = variable7 /*nodearraylist3*/;
16671 variable13 = TAG_Bool(( variable12 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
16672 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8875,6--36\n"); nit_exit(1);}
16673 variable13 = variable6 /*nodearraylist4*/;
16674 variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16675 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8877,6--42\n"); nit_exit(1);}
16676 variable14 = variable3 /*nodearraylist7*/;
16677 variable15 = TAG_Bool(( variable14 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16678 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8879,6--32\n"); nit_exit(1);}
16679 variable16 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode4*/, variable12 /*tkwinitnode5*/, NIT_NULL /*null*/, variable13 /*psignaturenode7*/, variable14 /*pexprnode8*/); /*new AConcreteInitPropdef*/
16680 variable15 = variable16;
16681 variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/;
16682 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16683 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
16684 tracehead = trace.prev;
16685 return;
16686 }
16687 void parser___ReduceAction178___init(val_t self, int* init_table) {
16688 struct trace_t trace = {NULL, "parser::ReduceAction178::init (src/parser//parser.nit:8892,1--4)"};
16689 trace.prev = tracehead; tracehead = &trace;
16690 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction178].i]) return;
16691 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction178].i] = 1;
16692 tracehead = trace.prev;
16693 return;
16694 }
16695 void parser___ReduceAction179___action(val_t self, val_t param0) {
16696 struct trace_t trace = {NULL, "parser::ReduceAction179::action (src/parser//parser.nit:8896,2--8930:34)"};
16697 val_t variable0;
16698 val_t variable1;
16699 val_t variable2;
16700 val_t variable3;
16701 val_t variable4;
16702 val_t variable5;
16703 val_t variable6;
16704 val_t variable7;
16705 val_t variable8;
16706 val_t variable9;
16707 val_t variable10;
16708 val_t variable11;
16709 val_t variable12;
16710 val_t variable13;
16711 val_t variable14;
16712 val_t variable15;
16713 val_t variable16;
16714 val_t variable17;
16715 val_t variable18;
16716 trace.prev = tracehead; tracehead = &trace;
16717 variable0 = param0;
16718 variable1 = NIT_NULL /*null*/;
16719 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16720 variable2 = variable3;
16721 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16722 variable3 = variable4;
16723 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16724 variable4 = variable5;
16725 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16726 variable5 = variable6;
16727 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16728 variable6 = variable7;
16729 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16730 variable7 = variable8;
16731 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16732 variable8 = variable9;
16733 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16734 variable9 = variable10;
16735 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16736 variable10 = variable11;
16737 variable11 = variable10 /*nodearraylist1*/;
16738 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16739 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8909,6--30\n"); nit_exit(1);}
16740 variable12 = variable9 /*nodearraylist2*/;
16741 variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16742 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8911,6--38\n"); nit_exit(1);}
16743 variable13 = variable8 /*nodearraylist3*/;
16744 variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16745 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8913,6--44\n"); nit_exit(1);}
16746 variable14 = variable7 /*nodearraylist4*/;
16747 variable15 = TAG_Bool(( variable14 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
16748 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8915,6--36\n"); nit_exit(1);}
16749 variable15 = variable6 /*nodearraylist5*/;
16750 variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16751 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8917,6--42\n"); nit_exit(1);}
16752 variable16 = variable3 /*nodearraylist8*/;
16753 variable17 = TAG_Bool(( variable16 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16754 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8919,6--32\n"); nit_exit(1);}
16755 variable18 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable11 /*pdocnode2*/, variable12 /*tkwredefnode3*/, variable13 /*pvisibilitynode4*/, variable14 /*tkwinitnode5*/, NIT_NULL /*null*/, variable15 /*psignaturenode7*/, variable16 /*pexprnode8*/); /*new AConcreteInitPropdef*/
16756 variable17 = variable18;
16757 variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/;
16758 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16759 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
16760 tracehead = trace.prev;
16761 return;
16762 }
16763 void parser___ReduceAction179___init(val_t self, int* init_table) {
16764 struct trace_t trace = {NULL, "parser::ReduceAction179::init (src/parser//parser.nit:8932,1--4)"};
16765 trace.prev = tracehead; tracehead = &trace;
16766 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction179].i]) return;
16767 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction179].i] = 1;
16768 tracehead = trace.prev;
16769 return;
16770 }
16771 void parser___ReduceAction180___action(val_t self, val_t param0) {
16772 struct trace_t trace = {NULL, "parser::ReduceAction180::action (src/parser//parser.nit:8936,2--8970:34)"};
16773 val_t variable0;
16774 val_t variable1;
16775 val_t variable2;
16776 val_t variable3;
16777 val_t variable4;
16778 val_t variable5;
16779 val_t variable6;
16780 val_t variable7;
16781 val_t variable8;
16782 val_t variable9;
16783 val_t variable10;
16784 val_t variable11;
16785 val_t variable12;
16786 val_t variable13;
16787 val_t variable14;
16788 val_t variable15;
16789 val_t variable16;
16790 val_t variable17;
16791 val_t variable18;
16792 trace.prev = tracehead; tracehead = &trace;
16793 variable0 = param0;
16794 variable1 = NIT_NULL /*null*/;
16795 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16796 variable2 = variable3;
16797 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16798 variable3 = variable4;
16799 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16800 variable4 = variable5;
16801 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16802 variable5 = variable6;
16803 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16804 variable6 = variable7;
16805 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16806 variable7 = variable8;
16807 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16808 variable8 = variable9;
16809 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16810 variable9 = variable10;
16811 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16812 variable10 = variable11;
16813 variable11 = variable10 /*nodearraylist1*/;
16814 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16815 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8949,6--30\n"); nit_exit(1);}
16816 variable12 = variable9 /*nodearraylist2*/;
16817 variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16818 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8951,6--44\n"); nit_exit(1);}
16819 variable13 = variable8 /*nodearraylist3*/;
16820 variable14 = TAG_Bool(( variable13 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
16821 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8953,6--36\n"); nit_exit(1);}
16822 variable14 = variable7 /*nodearraylist4*/;
16823 variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16824 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8955,6--36\n"); nit_exit(1);}
16825 variable15 = variable6 /*nodearraylist5*/;
16826 variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16827 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8957,6--42\n"); nit_exit(1);}
16828 variable16 = variable3 /*nodearraylist8*/;
16829 variable17 = TAG_Bool(( variable16 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16830 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8959,6--32\n"); nit_exit(1);}
16831 variable18 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable11 /*pdocnode2*/, NIT_NULL /*null*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwinitnode5*/, variable14 /*pmethidnode6*/, variable15 /*psignaturenode7*/, variable16 /*pexprnode8*/); /*new AConcreteInitPropdef*/
16832 variable17 = variable18;
16833 variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/;
16834 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16835 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
16836 tracehead = trace.prev;
16837 return;
16838 }
16839 void parser___ReduceAction180___init(val_t self, int* init_table) {
16840 struct trace_t trace = {NULL, "parser::ReduceAction180::init (src/parser//parser.nit:8972,1--4)"};
16841 trace.prev = tracehead; tracehead = &trace;
16842 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction180].i]) return;
16843 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction180].i] = 1;
16844 tracehead = trace.prev;
16845 return;
16846 }
16847 void parser___ReduceAction181___action(val_t self, val_t param0) {
16848 struct trace_t trace = {NULL, "parser::ReduceAction181::action (src/parser//parser.nit:8976,2--9013:34)"};
16849 val_t variable0;
16850 val_t variable1;
16851 val_t variable2;
16852 val_t variable3;
16853 val_t variable4;
16854 val_t variable5;
16855 val_t variable6;
16856 val_t variable7;
16857 val_t variable8;
16858 val_t variable9;
16859 val_t variable10;
16860 val_t variable11;
16861 val_t variable12;
16862 val_t variable13;
16863 val_t variable14;
16864 val_t variable15;
16865 val_t variable16;
16866 val_t variable17;
16867 val_t variable18;
16868 val_t variable19;
16869 val_t variable20;
16870 trace.prev = tracehead; tracehead = &trace;
16871 variable0 = param0;
16872 variable1 = NIT_NULL /*null*/;
16873 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16874 variable2 = variable3;
16875 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16876 variable3 = variable4;
16877 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16878 variable4 = variable5;
16879 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16880 variable5 = variable6;
16881 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16882 variable6 = variable7;
16883 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16884 variable7 = variable8;
16885 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16886 variable8 = variable9;
16887 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16888 variable9 = variable10;
16889 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16890 variable10 = variable11;
16891 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16892 variable11 = variable12;
16893 variable12 = variable11 /*nodearraylist1*/;
16894 variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16895 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8990,6--30\n"); nit_exit(1);}
16896 variable13 = variable10 /*nodearraylist2*/;
16897 variable14 = TAG_Bool(( variable13 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16898 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8992,6--38\n"); nit_exit(1);}
16899 variable14 = variable9 /*nodearraylist3*/;
16900 variable15 = TAG_Bool(( variable14 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16901 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8994,6--44\n"); nit_exit(1);}
16902 variable15 = variable8 /*nodearraylist4*/;
16903 variable16 = TAG_Bool(( variable15 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
16904 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8996,6--36\n"); nit_exit(1);}
16905 variable16 = variable7 /*nodearraylist5*/;
16906 variable17 = TAG_Bool(( variable16 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable16 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
16907 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8998,6--36\n"); nit_exit(1);}
16908 variable17 = variable6 /*nodearraylist6*/;
16909 variable18 = TAG_Bool(( variable17 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable17 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
16910 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9000,6--42\n"); nit_exit(1);}
16911 variable18 = variable3 /*nodearraylist9*/;
16912 variable19 = TAG_Bool(( variable18 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
16913 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9002,6--32\n"); nit_exit(1);}
16914 variable20 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable12 /*pdocnode2*/, variable13 /*tkwredefnode3*/, variable14 /*pvisibilitynode4*/, variable15 /*tkwinitnode5*/, variable16 /*pmethidnode6*/, variable17 /*psignaturenode7*/, variable18 /*pexprnode8*/); /*new AConcreteInitPropdef*/
16915 variable19 = variable20;
16916 variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/;
16917 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16918 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
16919 tracehead = trace.prev;
16920 return;
16921 }
16922 void parser___ReduceAction181___init(val_t self, int* init_table) {
16923 struct trace_t trace = {NULL, "parser::ReduceAction181::init (src/parser//parser.nit:9015,1--4)"};
16924 trace.prev = tracehead; tracehead = &trace;
16925 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction181].i]) return;
16926 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction181].i] = 1;
16927 tracehead = trace.prev;
16928 return;
16929 }
16930 void parser___ReduceAction182___action(val_t self, val_t param0) {
16931 struct trace_t trace = {NULL, "parser::ReduceAction182::action (src/parser//parser.nit:9019,2--9046:34)"};
16932 val_t variable0;
16933 val_t variable1;
16934 val_t variable2;
16935 val_t variable3;
16936 val_t variable4;
16937 val_t variable5;
16938 val_t variable6;
16939 val_t variable7;
16940 val_t variable8;
16941 val_t variable9;
16942 val_t variable10;
16943 val_t variable11;
16944 val_t variable12;
16945 val_t variable13;
16946 trace.prev = tracehead; tracehead = &trace;
16947 variable0 = param0;
16948 variable1 = NIT_NULL /*null*/;
16949 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16950 variable2 = variable3;
16951 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16952 variable3 = variable4;
16953 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16954 variable4 = variable5;
16955 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16956 variable5 = variable6;
16957 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
16958 variable6 = variable7;
16959 variable7 = variable6 /*nodearraylist1*/;
16960 variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16961 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9028,6--30\n"); nit_exit(1);}
16962 variable8 = variable5 /*nodearraylist2*/;
16963 variable9 = TAG_Bool(( variable8 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable8 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16964 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9030,6--44\n"); nit_exit(1);}
16965 variable9 = variable4 /*nodearraylist3*/;
16966 variable10 = TAG_Bool(( variable9 /*tkwtypenode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwtypenode5*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
16967 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9032,6--36\n"); nit_exit(1);}
16968 variable10 = variable3 /*nodearraylist4*/;
16969 variable11 = TAG_Bool(( variable10 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable10 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
16970 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9034,6--38\n"); nit_exit(1);}
16971 variable11 = variable2 /*nodearraylist5*/;
16972 variable12 = TAG_Bool(( variable11 /*ptypenode7*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode7*/, COLOR_PType, ID_PType)) /*cast PType*/;
16973 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9036,6--32\n"); nit_exit(1);}
16974 variable13 = NEW_parser_prod___ATypePropdef___init_atypepropdef( variable7 /*pdocnode2*/, NIT_NULL /*null*/, variable8 /*pvisibilitynode4*/, variable9 /*tkwtypenode5*/, variable10 /*tclassidnode6*/, variable11 /*ptypenode7*/); /*new ATypePropdef*/
16975 variable12 = variable13;
16976 variable1 = variable12 /*ppropdefnode1*/ /*node_list=*/;
16977 variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16978 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/;
16979 tracehead = trace.prev;
16980 return;
16981 }
16982 void parser___ReduceAction182___init(val_t self, int* init_table) {
16983 struct trace_t trace = {NULL, "parser::ReduceAction182::init (src/parser//parser.nit:9048,1--4)"};
16984 trace.prev = tracehead; tracehead = &trace;
16985 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction182].i]) return;
16986 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction182].i] = 1;
16987 tracehead = trace.prev;
16988 return;
16989 }
16990 void parser___ReduceAction183___action(val_t self, val_t param0) {
16991 struct trace_t trace = {NULL, "parser::ReduceAction183::action (src/parser//parser.nit:9052,2--9082:34)"};
16992 val_t variable0;
16993 val_t variable1;
16994 val_t variable2;
16995 val_t variable3;
16996 val_t variable4;
16997 val_t variable5;
16998 val_t variable6;
16999 val_t variable7;
17000 val_t variable8;
17001 val_t variable9;
17002 val_t variable10;
17003 val_t variable11;
17004 val_t variable12;
17005 val_t variable13;
17006 val_t variable14;
17007 val_t variable15;
17008 trace.prev = tracehead; tracehead = &trace;
17009 variable0 = param0;
17010 variable1 = NIT_NULL /*null*/;
17011 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17012 variable2 = variable3;
17013 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17014 variable3 = variable4;
17015 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17016 variable4 = variable5;
17017 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17018 variable5 = variable6;
17019 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17020 variable6 = variable7;
17021 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17022 variable7 = variable8;
17023 variable8 = variable7 /*nodearraylist1*/;
17024 variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17025 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9062,6--30\n"); nit_exit(1);}
17026 variable9 = variable6 /*nodearraylist2*/;
17027 variable10 = TAG_Bool(( variable9 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17028 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9064,6--38\n"); nit_exit(1);}
17029 variable10 = variable5 /*nodearraylist3*/;
17030 variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17031 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9066,6--44\n"); nit_exit(1);}
17032 variable11 = variable4 /*nodearraylist4*/;
17033 variable12 = TAG_Bool(( variable11 /*tkwtypenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwtypenode5*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
17034 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9068,6--36\n"); nit_exit(1);}
17035 variable12 = variable3 /*nodearraylist5*/;
17036 variable13 = TAG_Bool(( variable12 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
17037 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9070,6--38\n"); nit_exit(1);}
17038 variable13 = variable2 /*nodearraylist6*/;
17039 variable14 = TAG_Bool(( variable13 /*ptypenode7*/==NIT_NULL) || VAL_ISA( variable13 /*ptypenode7*/, COLOR_PType, ID_PType)) /*cast PType*/;
17040 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9072,6--32\n"); nit_exit(1);}
17041 variable15 = NEW_parser_prod___ATypePropdef___init_atypepropdef( variable8 /*pdocnode2*/, variable9 /*tkwredefnode3*/, variable10 /*pvisibilitynode4*/, variable11 /*tkwtypenode5*/, variable12 /*tclassidnode6*/, variable13 /*ptypenode7*/); /*new ATypePropdef*/
17042 variable14 = variable15;
17043 variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/;
17044 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17045 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
17046 tracehead = trace.prev;
17047 return;
17048 }
17049 void parser___ReduceAction183___init(val_t self, int* init_table) {
17050 struct trace_t trace = {NULL, "parser::ReduceAction183::init (src/parser//parser.nit:9084,1--4)"};
17051 trace.prev = tracehead; tracehead = &trace;
17052 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction183].i]) return;
17053 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction183].i] = 1;
17054 tracehead = trace.prev;
17055 return;
17056 }
17057 void parser___ReduceAction184___action(val_t self, val_t param0) {
17058 struct trace_t trace = {NULL, "parser::ReduceAction184::action (src/parser//parser.nit:9088,2--9096:34)"};
17059 val_t variable0;
17060 val_t variable1;
17061 val_t variable2;
17062 val_t variable3;
17063 val_t variable4;
17064 val_t variable5;
17065 trace.prev = tracehead; tracehead = &trace;
17066 variable0 = param0;
17067 variable1 = NIT_NULL /*null*/;
17068 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17069 variable2 = variable3;
17070 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17071 variable3 = variable4;
17072 variable4 = variable3 /*nodearraylist1*/;
17073 variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
17074 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9094,6--38\n"); nit_exit(1);}
17075 variable1 = variable4 /*ppropdefnode1*/ /*node_list=*/;
17076 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(13)) /*Parser::go_to*/;
17077 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
17078 tracehead = trace.prev;
17079 return;
17080 }
17081 void parser___ReduceAction184___init(val_t self, int* init_table) {
17082 struct trace_t trace = {NULL, "parser::ReduceAction184::init (src/parser//parser.nit:9098,1--4)"};
17083 trace.prev = tracehead; tracehead = &trace;
17084 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction184].i]) return;
17085 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction184].i] = 1;
17086 tracehead = trace.prev;
17087 return;
17088 }
17089 void parser___ReduceAction185___action(val_t self, val_t param0) {
17090 struct trace_t trace = {NULL, "parser::ReduceAction185::action (src/parser//parser.nit:9102,2--9132:34)"};
17091 val_t variable0;
17092 val_t variable1;
17093 val_t variable2;
17094 val_t variable3;
17095 val_t variable4;
17096 val_t variable5;
17097 val_t variable6;
17098 val_t variable7;
17099 val_t variable8;
17100 val_t variable9;
17101 val_t variable10;
17102 val_t variable11;
17103 val_t variable12;
17104 val_t variable13;
17105 val_t variable14;
17106 val_t variable15;
17107 trace.prev = tracehead; tracehead = &trace;
17108 variable0 = param0;
17109 variable1 = NIT_NULL /*null*/;
17110 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17111 variable2 = variable3;
17112 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17113 variable3 = variable4;
17114 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17115 variable4 = variable5;
17116 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17117 variable5 = variable6;
17118 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17119 variable6 = variable7;
17120 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17121 variable7 = variable8;
17122 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17123 variable8 = variable9;
17124 variable9 = variable8 /*nodearraylist1*/;
17125 variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17126 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9113,6--30\n"); nit_exit(1);}
17127 variable10 = variable7 /*nodearraylist2*/;
17128 variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17129 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9115,6--44\n"); nit_exit(1);}
17130 variable11 = variable6 /*nodearraylist3*/;
17131 variable12 = TAG_Bool(( variable11 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17132 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9117,6--36\n"); nit_exit(1);}
17133 variable12 = variable5 /*nodearraylist4*/;
17134 variable13 = TAG_Bool(( variable12 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17135 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9119,6--36\n"); nit_exit(1);}
17136 variable13 = variable4 /*nodearraylist5*/;
17137 variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
17138 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9121,6--42\n"); nit_exit(1);}
17139 variable15 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode4*/, variable11 /*tkwmethnode5*/, variable12 /*pmethidnode6*/, variable13 /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17140 variable14 = variable15;
17141 variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/;
17142 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(14)) /*Parser::go_to*/;
17143 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
17144 tracehead = trace.prev;
17145 return;
17146 }
17147 void parser___ReduceAction185___init(val_t self, int* init_table) {
17148 struct trace_t trace = {NULL, "parser::ReduceAction185::init (src/parser//parser.nit:9134,1--4)"};
17149 trace.prev = tracehead; tracehead = &trace;
17150 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction185].i]) return;
17151 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction185].i] = 1;
17152 tracehead = trace.prev;
17153 return;
17154 }
17155 void parser___ReduceAction186___action(val_t self, val_t param0) {
17156 struct trace_t trace = {NULL, "parser::ReduceAction186::action (src/parser//parser.nit:9138,2--9171:34)"};
17157 val_t variable0;
17158 val_t variable1;
17159 val_t variable2;
17160 val_t variable3;
17161 val_t variable4;
17162 val_t variable5;
17163 val_t variable6;
17164 val_t variable7;
17165 val_t variable8;
17166 val_t variable9;
17167 val_t variable10;
17168 val_t variable11;
17169 val_t variable12;
17170 val_t variable13;
17171 val_t variable14;
17172 val_t variable15;
17173 val_t variable16;
17174 val_t variable17;
17175 trace.prev = tracehead; tracehead = &trace;
17176 variable0 = param0;
17177 variable1 = NIT_NULL /*null*/;
17178 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17179 variable2 = variable3;
17180 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17181 variable3 = variable4;
17182 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17183 variable4 = variable5;
17184 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17185 variable5 = variable6;
17186 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17187 variable6 = variable7;
17188 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17189 variable7 = variable8;
17190 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17191 variable8 = variable9;
17192 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17193 variable9 = variable10;
17194 variable10 = variable9 /*nodearraylist1*/;
17195 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17196 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9150,6--30\n"); nit_exit(1);}
17197 variable11 = variable8 /*nodearraylist2*/;
17198 variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17199 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9152,6--38\n"); nit_exit(1);}
17200 variable12 = variable7 /*nodearraylist3*/;
17201 variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17202 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9154,6--44\n"); nit_exit(1);}
17203 variable13 = variable6 /*nodearraylist4*/;
17204 variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17205 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9156,6--36\n"); nit_exit(1);}
17206 variable14 = variable5 /*nodearraylist5*/;
17207 variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17208 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9158,6--36\n"); nit_exit(1);}
17209 variable15 = variable4 /*nodearraylist6*/;
17210 variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
17211 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9160,6--42\n"); nit_exit(1);}
17212 variable17 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/, variable11 /*tkwredefnode3*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwmethnode5*/, variable14 /*pmethidnode6*/, variable15 /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/
17213 variable16 = variable17;
17214 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
17215 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(14)) /*Parser::go_to*/;
17216 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
17217 tracehead = trace.prev;
17218 return;
17219 }
17220 void parser___ReduceAction186___init(val_t self, int* init_table) {
17221 struct trace_t trace = {NULL, "parser::ReduceAction186::init (src/parser//parser.nit:9173,1--4)"};
17222 trace.prev = tracehead; tracehead = &trace;
17223 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction186].i]) return;
17224 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction186].i] = 1;
17225 tracehead = trace.prev;
17226 return;
17227 }
17228 void parser___ReduceAction187___action(val_t self, val_t param0) {
17229 struct trace_t trace = {NULL, "parser::ReduceAction187::action (src/parser//parser.nit:9177,2--9210:34)"};
17230 val_t variable0;
17231 val_t variable1;
17232 val_t variable2;
17233 val_t variable3;
17234 val_t variable4;
17235 val_t variable5;
17236 val_t variable6;
17237 val_t variable7;
17238 val_t variable8;
17239 val_t variable9;
17240 val_t variable10;
17241 val_t variable11;
17242 val_t variable12;
17243 val_t variable13;
17244 val_t variable14;
17245 val_t variable15;
17246 val_t variable16;
17247 val_t variable17;
17248 trace.prev = tracehead; tracehead = &trace;
17249 variable0 = param0;
17250 variable1 = NIT_NULL /*null*/;
17251 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17252 variable2 = variable3;
17253 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17254 variable3 = variable4;
17255 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17256 variable4 = variable5;
17257 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17258 variable5 = variable6;
17259 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17260 variable6 = variable7;
17261 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17262 variable7 = variable8;
17263 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17264 variable8 = variable9;
17265 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17266 variable9 = variable10;
17267 variable10 = variable9 /*nodearraylist1*/;
17268 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17269 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9189,6--30\n"); nit_exit(1);}
17270 variable11 = variable8 /*nodearraylist2*/;
17271 variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17272 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9191,6--44\n"); nit_exit(1);}
17273 variable12 = variable7 /*nodearraylist3*/;
17274 variable13 = TAG_Bool(( variable12 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17275 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9193,6--36\n"); nit_exit(1);}
17276 variable13 = variable6 /*nodearraylist4*/;
17277 variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17278 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9195,6--36\n"); nit_exit(1);}
17279 variable14 = variable5 /*nodearraylist5*/;
17280 variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
17281 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9197,6--42\n"); nit_exit(1);}
17282 variable15 = variable2 /*nodearraylist8*/;
17283 variable16 = TAG_Bool(( variable15 /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable15 /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
17284 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9199,6--36\n"); nit_exit(1);}
17285 variable17 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode4*/, variable12 /*tkwmethnode5*/, variable13 /*pmethidnode6*/, variable14 /*psignaturenode7*/, variable15 /*tstringnode8*/); /*new AExternMethPropdef*/
17286 variable16 = variable17;
17287 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
17288 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(14)) /*Parser::go_to*/;
17289 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
17290 tracehead = trace.prev;
17291 return;
17292 }
17293 void parser___ReduceAction187___init(val_t self, int* init_table) {
17294 struct trace_t trace = {NULL, "parser::ReduceAction187::init (src/parser//parser.nit:9212,1--4)"};
17295 trace.prev = tracehead; tracehead = &trace;
17296 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction187].i]) return;
17297 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction187].i] = 1;
17298 tracehead = trace.prev;
17299 return;
17300 }
17301 void parser___ReduceAction188___action(val_t self, val_t param0) {
17302 struct trace_t trace = {NULL, "parser::ReduceAction188::action (src/parser//parser.nit:9216,2--9252:34)"};
17303 val_t variable0;
17304 val_t variable1;
17305 val_t variable2;
17306 val_t variable3;
17307 val_t variable4;
17308 val_t variable5;
17309 val_t variable6;
17310 val_t variable7;
17311 val_t variable8;
17312 val_t variable9;
17313 val_t variable10;
17314 val_t variable11;
17315 val_t variable12;
17316 val_t variable13;
17317 val_t variable14;
17318 val_t variable15;
17319 val_t variable16;
17320 val_t variable17;
17321 val_t variable18;
17322 val_t variable19;
17323 trace.prev = tracehead; tracehead = &trace;
17324 variable0 = param0;
17325 variable1 = NIT_NULL /*null*/;
17326 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17327 variable2 = variable3;
17328 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17329 variable3 = variable4;
17330 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17331 variable4 = variable5;
17332 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17333 variable5 = variable6;
17334 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17335 variable6 = variable7;
17336 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17337 variable7 = variable8;
17338 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17339 variable8 = variable9;
17340 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17341 variable9 = variable10;
17342 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17343 variable10 = variable11;
17344 variable11 = variable10 /*nodearraylist1*/;
17345 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17346 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9229,6--30\n"); nit_exit(1);}
17347 variable12 = variable9 /*nodearraylist2*/;
17348 variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17349 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9231,6--38\n"); nit_exit(1);}
17350 variable13 = variable8 /*nodearraylist3*/;
17351 variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17352 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9233,6--44\n"); nit_exit(1);}
17353 variable14 = variable7 /*nodearraylist4*/;
17354 variable15 = TAG_Bool(( variable14 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17355 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9235,6--36\n"); nit_exit(1);}
17356 variable15 = variable6 /*nodearraylist5*/;
17357 variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17358 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9237,6--36\n"); nit_exit(1);}
17359 variable16 = variable5 /*nodearraylist6*/;
17360 variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
17361 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9239,6--42\n"); nit_exit(1);}
17362 variable17 = variable2 /*nodearraylist9*/;
17363 variable18 = TAG_Bool(( variable17 /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable17 /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
17364 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9241,6--36\n"); nit_exit(1);}
17365 variable19 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable11 /*pdocnode2*/, variable12 /*tkwredefnode3*/, variable13 /*pvisibilitynode4*/, variable14 /*tkwmethnode5*/, variable15 /*pmethidnode6*/, variable16 /*psignaturenode7*/, variable17 /*tstringnode8*/); /*new AExternMethPropdef*/
17366 variable18 = variable19;
17367 variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/;
17368 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(14)) /*Parser::go_to*/;
17369 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
17370 tracehead = trace.prev;
17371 return;
17372 }
17373 void parser___ReduceAction188___init(val_t self, int* init_table) {
17374 struct trace_t trace = {NULL, "parser::ReduceAction188::init (src/parser//parser.nit:9254,1--4)"};
17375 trace.prev = tracehead; tracehead = &trace;
17376 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction188].i]) return;
17377 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction188].i] = 1;
17378 tracehead = trace.prev;
17379 return;
17380 }
17381 void parser___ReduceAction189___action(val_t self, val_t param0) {
17382 struct trace_t trace = {NULL, "parser::ReduceAction189::action (src/parser//parser.nit:9258,2--9291:34)"};
17383 val_t variable0;
17384 val_t variable1;
17385 val_t variable2;
17386 val_t variable3;
17387 val_t variable4;
17388 val_t variable5;
17389 val_t variable6;
17390 val_t variable7;
17391 val_t variable8;
17392 val_t variable9;
17393 val_t variable10;
17394 val_t variable11;
17395 val_t variable12;
17396 val_t variable13;
17397 val_t variable14;
17398 val_t variable15;
17399 val_t variable16;
17400 val_t variable17;
17401 trace.prev = tracehead; tracehead = &trace;
17402 variable0 = param0;
17403 variable1 = NIT_NULL /*null*/;
17404 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17405 variable2 = variable3;
17406 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17407 variable3 = variable4;
17408 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17409 variable4 = variable5;
17410 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17411 variable5 = variable6;
17412 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17413 variable6 = variable7;
17414 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17415 variable7 = variable8;
17416 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17417 variable8 = variable9;
17418 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17419 variable9 = variable10;
17420 variable10 = variable9 /*nodearraylist1*/;
17421 variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17422 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9270,6--30\n"); nit_exit(1);}
17423 variable11 = variable8 /*nodearraylist2*/;
17424 variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17425 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9272,6--44\n"); nit_exit(1);}
17426 variable12 = variable7 /*nodearraylist3*/;
17427 variable13 = TAG_Bool(( variable12 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17428 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9274,6--36\n"); nit_exit(1);}
17429 variable13 = variable6 /*nodearraylist4*/;
17430 variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17431 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9276,6--36\n"); nit_exit(1);}
17432 variable14 = variable5 /*nodearraylist5*/;
17433 variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
17434 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9278,6--42\n"); nit_exit(1);}
17435 variable15 = variable2 /*nodearraylist8*/;
17436 variable16 = TAG_Bool(( variable15 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17437 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9280,6--32\n"); nit_exit(1);}
17438 variable17 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode4*/, variable12 /*tkwmethnode5*/, variable13 /*pmethidnode6*/, variable14 /*psignaturenode7*/, variable15 /*pexprnode8*/); /*new AConcreteMethPropdef*/
17439 variable16 = variable17;
17440 variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/;
17441 variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(14)) /*Parser::go_to*/;
17442 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/;
17443 tracehead = trace.prev;
17444 return;
17445 }
17446 void parser___ReduceAction189___init(val_t self, int* init_table) {
17447 struct trace_t trace = {NULL, "parser::ReduceAction189::init (src/parser//parser.nit:9293,1--4)"};
17448 trace.prev = tracehead; tracehead = &trace;
17449 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction189].i]) return;
17450 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction189].i] = 1;
17451 tracehead = trace.prev;
17452 return;
17453 }
17454 void parser___ReduceAction190___action(val_t self, val_t param0) {
17455 struct trace_t trace = {NULL, "parser::ReduceAction190::action (src/parser//parser.nit:9297,2--9333:34)"};
17456 val_t variable0;
17457 val_t variable1;
17458 val_t variable2;
17459 val_t variable3;
17460 val_t variable4;
17461 val_t variable5;
17462 val_t variable6;
17463 val_t variable7;
17464 val_t variable8;
17465 val_t variable9;
17466 val_t variable10;
17467 val_t variable11;
17468 val_t variable12;
17469 val_t variable13;
17470 val_t variable14;
17471 val_t variable15;
17472 val_t variable16;
17473 val_t variable17;
17474 val_t variable18;
17475 val_t variable19;
17476 trace.prev = tracehead; tracehead = &trace;
17477 variable0 = param0;
17478 variable1 = NIT_NULL /*null*/;
17479 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17480 variable2 = variable3;
17481 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17482 variable3 = variable4;
17483 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17484 variable4 = variable5;
17485 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17486 variable5 = variable6;
17487 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17488 variable6 = variable7;
17489 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17490 variable7 = variable8;
17491 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17492 variable8 = variable9;
17493 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17494 variable9 = variable10;
17495 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17496 variable10 = variable11;
17497 variable11 = variable10 /*nodearraylist1*/;
17498 variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17499 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9310,6--30\n"); nit_exit(1);}
17500 variable12 = variable9 /*nodearraylist2*/;
17501 variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17502 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9312,6--38\n"); nit_exit(1);}
17503 variable13 = variable8 /*nodearraylist3*/;
17504 variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17505 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9314,6--44\n"); nit_exit(1);}
17506 variable14 = variable7 /*nodearraylist4*/;
17507 variable15 = TAG_Bool(( variable14 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
17508 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9316,6--36\n"); nit_exit(1);}
17509 variable15 = variable6 /*nodearraylist5*/;
17510 variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
17511 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9318,6--36\n"); nit_exit(1);}
17512 variable16 = variable5 /*nodearraylist6*/;
17513 variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
17514 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9320,6--42\n"); nit_exit(1);}
17515 variable17 = variable2 /*nodearraylist9*/;
17516 variable18 = TAG_Bool(( variable17 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable17 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
17517 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9322,6--32\n"); nit_exit(1);}
17518 variable19 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable11 /*pdocnode2*/, variable12 /*tkwredefnode3*/, variable13 /*pvisibilitynode4*/, variable14 /*tkwmethnode5*/, variable15 /*pmethidnode6*/, variable16 /*psignaturenode7*/, variable17 /*pexprnode8*/); /*new AConcreteMethPropdef*/
17519 variable18 = variable19;
17520 variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/;
17521 variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(14)) /*Parser::go_to*/;
17522 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/;
17523 tracehead = trace.prev;
17524 return;
17525 }
17526 void parser___ReduceAction190___init(val_t self, int* init_table) {
17527 struct trace_t trace = {NULL, "parser::ReduceAction190::init (src/parser//parser.nit:9335,1--4)"};
17528 trace.prev = tracehead; tracehead = &trace;
17529 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction190].i]) return;
17530 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction190].i] = 1;
17531 tracehead = trace.prev;
17532 return;
17533 }
17534 void parser___ReduceAction191___action(val_t self, val_t param0) {
17535 struct trace_t trace = {NULL, "parser::ReduceAction191::action (src/parser//parser.nit:9339,2--9345:34)"};
17536 val_t variable0;
17537 val_t variable1;
17538 val_t variable2;
17539 val_t variable3;
17540 trace.prev = tracehead; tracehead = &trace;
17541 variable0 = param0;
17542 variable1 = NIT_NULL /*null*/;
17543 variable3 = NEW_parser_prod___APublicVisibility___init_apublicvisibility(); /*new APublicVisibility*/
17544 variable2 = variable3;
17545 variable1 = variable2 /*pvisibilitynode1*/ /*node_list=*/;
17546 variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(15)) /*Parser::go_to*/;
17547 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/;
17548 tracehead = trace.prev;
17549 return;
17550 }
17551 void parser___ReduceAction191___init(val_t self, int* init_table) {
17552 struct trace_t trace = {NULL, "parser::ReduceAction191::init (src/parser//parser.nit:9347,1--4)"};
17553 trace.prev = tracehead; tracehead = &trace;
17554 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction191].i]) return;
17555 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction191].i] = 1;
17556 tracehead = trace.prev;
17557 return;
17558 }
17559 void parser___ReduceAction192___action(val_t self, val_t param0) {
17560 struct trace_t trace = {NULL, "parser::ReduceAction192::action (src/parser//parser.nit:9351,2--9362:34)"};
17561 val_t variable0;
17562 val_t variable1;
17563 val_t variable2;
17564 val_t variable3;
17565 val_t variable4;
17566 val_t variable5;
17567 val_t variable6;
17568 trace.prev = tracehead; tracehead = &trace;
17569 variable0 = param0;
17570 variable1 = NIT_NULL /*null*/;
17571 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17572 variable2 = variable3;
17573 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17574 variable3 = variable4;
17575 variable4 = variable3 /*nodearraylist1*/;
17576 variable5 = TAG_Bool(( variable4 /*tkwprivatenode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwprivatenode2*/, COLOR_TKwprivate, ID_TKwprivate)) /*cast TKwprivate*/;
17577 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9357,6--42\n"); nit_exit(1);}
17578 variable6 = NEW_parser_prod___APrivateVisibility___init_aprivatevisibility( variable4 /*tkwprivatenode2*/); /*new APrivateVisibility*/
17579 variable5 = variable6;
17580 variable1 = variable5 /*pvisibilitynode1*/ /*node_list=*/;
17581 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(15)) /*Parser::go_to*/;
17582 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
17583 tracehead = trace.prev;
17584 return;
17585 }
17586 void parser___ReduceAction192___init(val_t self, int* init_table) {
17587 struct trace_t trace = {NULL, "parser::ReduceAction192::init (src/parser//parser.nit:9364,1--4)"};
17588 trace.prev = tracehead; tracehead = &trace;
17589 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction192].i]) return;
17590 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction192].i] = 1;
17591 tracehead = trace.prev;
17592 return;
17593 }
17594 void parser___ReduceAction193___action(val_t self, val_t param0) {
17595 struct trace_t trace = {NULL, "parser::ReduceAction193::action (src/parser//parser.nit:9368,2--9379:34)"};
17596 val_t variable0;
17597 val_t variable1;
17598 val_t variable2;
17599 val_t variable3;
17600 val_t variable4;
17601 val_t variable5;
17602 val_t variable6;
17603 trace.prev = tracehead; tracehead = &trace;
17604 variable0 = param0;
17605 variable1 = NIT_NULL /*null*/;
17606 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17607 variable2 = variable3;
17608 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17609 variable3 = variable4;
17610 variable4 = variable3 /*nodearraylist1*/;
17611 variable5 = TAG_Bool(( variable4 /*tkwprotectednode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwprotectednode2*/, COLOR_TKwprotected, ID_TKwprotected)) /*cast TKwprotected*/;
17612 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9374,6--46\n"); nit_exit(1);}
17613 variable6 = NEW_parser_prod___AProtectedVisibility___init_aprotectedvisibility( variable4 /*tkwprotectednode2*/); /*new AProtectedVisibility*/
17614 variable5 = variable6;
17615 variable1 = variable5 /*pvisibilitynode1*/ /*node_list=*/;
17616 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(15)) /*Parser::go_to*/;
17617 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
17618 tracehead = trace.prev;
17619 return;
17620 }
17621 void parser___ReduceAction193___init(val_t self, int* init_table) {
17622 struct trace_t trace = {NULL, "parser::ReduceAction193::init (src/parser//parser.nit:9381,1--4)"};
17623 trace.prev = tracehead; tracehead = &trace;
17624 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction193].i]) return;
17625 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction193].i] = 1;
17626 tracehead = trace.prev;
17627 return;
17628 }
17629 void parser___ReduceAction194___action(val_t self, val_t param0) {
17630 struct trace_t trace = {NULL, "parser::ReduceAction194::action (src/parser//parser.nit:9385,2--9396:34)"};
17631 val_t variable0;
17632 val_t variable1;
17633 val_t variable2;
17634 val_t variable3;
17635 val_t variable4;
17636 val_t variable5;
17637 val_t variable6;
17638 trace.prev = tracehead; tracehead = &trace;
17639 variable0 = param0;
17640 variable1 = NIT_NULL /*null*/;
17641 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17642 variable2 = variable3;
17643 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17644 variable3 = variable4;
17645 variable4 = variable3 /*nodearraylist1*/;
17646 variable5 = TAG_Bool(( variable4 /*tkwintrudenode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwintrudenode2*/, COLOR_TKwintrude, ID_TKwintrude)) /*cast TKwintrude*/;
17647 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9391,6--42\n"); nit_exit(1);}
17648 variable6 = NEW_parser_prod___AIntrudeVisibility___init_aintrudevisibility( variable4 /*tkwintrudenode2*/); /*new AIntrudeVisibility*/
17649 variable5 = variable6;
17650 variable1 = variable5 /*pvisibilitynode1*/ /*node_list=*/;
17651 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(15)) /*Parser::go_to*/;
17652 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
17653 tracehead = trace.prev;
17654 return;
17655 }
17656 void parser___ReduceAction194___init(val_t self, int* init_table) {
17657 struct trace_t trace = {NULL, "parser::ReduceAction194::init (src/parser//parser.nit:9398,1--4)"};
17658 trace.prev = tracehead; tracehead = &trace;
17659 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction194].i]) return;
17660 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction194].i] = 1;
17661 tracehead = trace.prev;
17662 return;
17663 }
17664 void parser___ReduceAction195___action(val_t self, val_t param0) {
17665 struct trace_t trace = {NULL, "parser::ReduceAction195::action (src/parser//parser.nit:9402,2--9412:34)"};
17666 val_t variable0;
17667 val_t variable1;
17668 val_t variable2;
17669 val_t variable3;
17670 val_t variable4;
17671 val_t variable5;
17672 trace.prev = tracehead; tracehead = &trace;
17673 variable0 = param0;
17674 variable1 = NIT_NULL /*null*/;
17675 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17676 variable2 = variable3;
17677 variable3 = variable2 /*nodearraylist1*/;
17678 variable4 = TAG_Bool(( variable3 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
17679 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9407,6--28\n"); nit_exit(1);}
17680 variable5 = NEW_parser_prod___AIdMethid___init_aidmethid( variable3 /*tidnode2*/); /*new AIdMethid*/
17681 variable4 = variable5;
17682 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
17683 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
17684 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
17685 tracehead = trace.prev;
17686 return;
17687 }
17688 void parser___ReduceAction195___init(val_t self, int* init_table) {
17689 struct trace_t trace = {NULL, "parser::ReduceAction195::init (src/parser//parser.nit:9414,1--4)"};
17690 trace.prev = tracehead; tracehead = &trace;
17691 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction195].i]) return;
17692 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction195].i] = 1;
17693 tracehead = trace.prev;
17694 return;
17695 }
17696 void parser___ReduceAction196___action(val_t self, val_t param0) {
17697 struct trace_t trace = {NULL, "parser::ReduceAction196::action (src/parser//parser.nit:9418,2--9428:34)"};
17698 val_t variable0;
17699 val_t variable1;
17700 val_t variable2;
17701 val_t variable3;
17702 val_t variable4;
17703 val_t variable5;
17704 trace.prev = tracehead; tracehead = &trace;
17705 variable0 = param0;
17706 variable1 = NIT_NULL /*null*/;
17707 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17708 variable2 = variable3;
17709 variable3 = variable2 /*nodearraylist1*/;
17710 variable4 = TAG_Bool(( variable3 /*tplusnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tplusnode2*/, COLOR_TPlus, ID_TPlus)) /*cast TPlus*/;
17711 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9423,6--32\n"); nit_exit(1);}
17712 variable5 = NEW_parser_prod___APlusMethid___init_aplusmethid( variable3 /*tplusnode2*/); /*new APlusMethid*/
17713 variable4 = variable5;
17714 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
17715 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
17716 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
17717 tracehead = trace.prev;
17718 return;
17719 }
17720 void parser___ReduceAction196___init(val_t self, int* init_table) {
17721 struct trace_t trace = {NULL, "parser::ReduceAction196::init (src/parser//parser.nit:9430,1--4)"};
17722 trace.prev = tracehead; tracehead = &trace;
17723 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction196].i]) return;
17724 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction196].i] = 1;
17725 tracehead = trace.prev;
17726 return;
17727 }
17728 void parser___ReduceAction197___action(val_t self, val_t param0) {
17729 struct trace_t trace = {NULL, "parser::ReduceAction197::action (src/parser//parser.nit:9434,2--9444:34)"};
17730 val_t variable0;
17731 val_t variable1;
17732 val_t variable2;
17733 val_t variable3;
17734 val_t variable4;
17735 val_t variable5;
17736 trace.prev = tracehead; tracehead = &trace;
17737 variable0 = param0;
17738 variable1 = NIT_NULL /*null*/;
17739 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17740 variable2 = variable3;
17741 variable3 = variable2 /*nodearraylist1*/;
17742 variable4 = TAG_Bool(( variable3 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
17743 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9439,6--34\n"); nit_exit(1);}
17744 variable5 = NEW_parser_prod___AMinusMethid___init_aminusmethid( variable3 /*tminusnode2*/); /*new AMinusMethid*/
17745 variable4 = variable5;
17746 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
17747 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
17748 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
17749 tracehead = trace.prev;
17750 return;
17751 }
17752 void parser___ReduceAction197___init(val_t self, int* init_table) {
17753 struct trace_t trace = {NULL, "parser::ReduceAction197::init (src/parser//parser.nit:9446,1--4)"};
17754 trace.prev = tracehead; tracehead = &trace;
17755 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction197].i]) return;
17756 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction197].i] = 1;
17757 tracehead = trace.prev;
17758 return;
17759 }
17760 void parser___ReduceAction198___action(val_t self, val_t param0) {
17761 struct trace_t trace = {NULL, "parser::ReduceAction198::action (src/parser//parser.nit:9450,2--9460:34)"};
17762 val_t variable0;
17763 val_t variable1;
17764 val_t variable2;
17765 val_t variable3;
17766 val_t variable4;
17767 val_t variable5;
17768 trace.prev = tracehead; tracehead = &trace;
17769 variable0 = param0;
17770 variable1 = NIT_NULL /*null*/;
17771 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17772 variable2 = variable3;
17773 variable3 = variable2 /*nodearraylist1*/;
17774 variable4 = TAG_Bool(( variable3 /*tstarnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstarnode2*/, COLOR_TStar, ID_TStar)) /*cast TStar*/;
17775 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9455,6--32\n"); nit_exit(1);}
17776 variable5 = NEW_parser_prod___AStarMethid___init_astarmethid( variable3 /*tstarnode2*/); /*new AStarMethid*/
17777 variable4 = variable5;
17778 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
17779 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
17780 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
17781 tracehead = trace.prev;
17782 return;
17783 }
17784 void parser___ReduceAction198___init(val_t self, int* init_table) {
17785 struct trace_t trace = {NULL, "parser::ReduceAction198::init (src/parser//parser.nit:9462,1--4)"};
17786 trace.prev = tracehead; tracehead = &trace;
17787 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction198].i]) return;
17788 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction198].i] = 1;
17789 tracehead = trace.prev;
17790 return;
17791 }
17792 void parser___ReduceAction199___action(val_t self, val_t param0) {
17793 struct trace_t trace = {NULL, "parser::ReduceAction199::action (src/parser//parser.nit:9466,2--9476:34)"};
17794 val_t variable0;
17795 val_t variable1;
17796 val_t variable2;
17797 val_t variable3;
17798 val_t variable4;
17799 val_t variable5;
17800 trace.prev = tracehead; tracehead = &trace;
17801 variable0 = param0;
17802 variable1 = NIT_NULL /*null*/;
17803 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17804 variable2 = variable3;
17805 variable3 = variable2 /*nodearraylist1*/;
17806 variable4 = TAG_Bool(( variable3 /*tslashnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tslashnode2*/, COLOR_TSlash, ID_TSlash)) /*cast TSlash*/;
17807 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9471,6--34\n"); nit_exit(1);}
17808 variable5 = NEW_parser_prod___ASlashMethid___init_aslashmethid( variable3 /*tslashnode2*/); /*new ASlashMethid*/
17809 variable4 = variable5;
17810 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
17811 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
17812 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
17813 tracehead = trace.prev;
17814 return;
17815 }
17816 void parser___ReduceAction199___init(val_t self, int* init_table) {
17817 struct trace_t trace = {NULL, "parser::ReduceAction199::init (src/parser//parser.nit:9478,1--4)"};
17818 trace.prev = tracehead; tracehead = &trace;
17819 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction199].i]) return;
17820 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction199].i] = 1;
17821 tracehead = trace.prev;
17822 return;
17823 }
17824 void parser___ReduceAction200___action(val_t self, val_t param0) {
17825 struct trace_t trace = {NULL, "parser::ReduceAction200::action (src/parser//parser.nit:9482,2--9492:34)"};
17826 val_t variable0;
17827 val_t variable1;
17828 val_t variable2;
17829 val_t variable3;
17830 val_t variable4;
17831 val_t variable5;
17832 trace.prev = tracehead; tracehead = &trace;
17833 variable0 = param0;
17834 variable1 = NIT_NULL /*null*/;
17835 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17836 variable2 = variable3;
17837 variable3 = variable2 /*nodearraylist1*/;
17838 variable4 = TAG_Bool(( variable3 /*tpercentnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tpercentnode2*/, COLOR_TPercent, ID_TPercent)) /*cast TPercent*/;
17839 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9487,6--38\n"); nit_exit(1);}
17840 variable5 = NEW_parser_prod___APercentMethid___init_apercentmethid( variable3 /*tpercentnode2*/); /*new APercentMethid*/
17841 variable4 = variable5;
17842 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
17843 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
17844 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
17845 tracehead = trace.prev;
17846 return;
17847 }
17848 void parser___ReduceAction200___init(val_t self, int* init_table) {
17849 struct trace_t trace = {NULL, "parser::ReduceAction200::init (src/parser//parser.nit:9494,1--4)"};
17850 trace.prev = tracehead; tracehead = &trace;
17851 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction200].i]) return;
17852 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction200].i] = 1;
17853 tracehead = trace.prev;
17854 return;
17855 }
17856 void parser___ReduceAction201___action(val_t self, val_t param0) {
17857 struct trace_t trace = {NULL, "parser::ReduceAction201::action (src/parser//parser.nit:9498,2--9508:34)"};
17858 val_t variable0;
17859 val_t variable1;
17860 val_t variable2;
17861 val_t variable3;
17862 val_t variable4;
17863 val_t variable5;
17864 trace.prev = tracehead; tracehead = &trace;
17865 variable0 = param0;
17866 variable1 = NIT_NULL /*null*/;
17867 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17868 variable2 = variable3;
17869 variable3 = variable2 /*nodearraylist1*/;
17870 variable4 = TAG_Bool(( variable3 /*teqnode2*/==NIT_NULL) || VAL_ISA( variable3 /*teqnode2*/, COLOR_TEq, ID_TEq)) /*cast TEq*/;
17871 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9503,6--28\n"); nit_exit(1);}
17872 variable5 = NEW_parser_prod___AEqMethid___init_aeqmethid( variable3 /*teqnode2*/); /*new AEqMethid*/
17873 variable4 = variable5;
17874 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
17875 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
17876 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
17877 tracehead = trace.prev;
17878 return;
17879 }
17880 void parser___ReduceAction201___init(val_t self, int* init_table) {
17881 struct trace_t trace = {NULL, "parser::ReduceAction201::init (src/parser//parser.nit:9510,1--4)"};
17882 trace.prev = tracehead; tracehead = &trace;
17883 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction201].i]) return;
17884 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction201].i] = 1;
17885 tracehead = trace.prev;
17886 return;
17887 }
17888 void parser___ReduceAction202___action(val_t self, val_t param0) {
17889 struct trace_t trace = {NULL, "parser::ReduceAction202::action (src/parser//parser.nit:9514,2--9524:34)"};
17890 val_t variable0;
17891 val_t variable1;
17892 val_t variable2;
17893 val_t variable3;
17894 val_t variable4;
17895 val_t variable5;
17896 trace.prev = tracehead; tracehead = &trace;
17897 variable0 = param0;
17898 variable1 = NIT_NULL /*null*/;
17899 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17900 variable2 = variable3;
17901 variable3 = variable2 /*nodearraylist1*/;
17902 variable4 = TAG_Bool(( variable3 /*tnenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnenode2*/, COLOR_TNe, ID_TNe)) /*cast TNe*/;
17903 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9519,6--28\n"); nit_exit(1);}
17904 variable5 = NEW_parser_prod___ANeMethid___init_anemethid( variable3 /*tnenode2*/); /*new ANeMethid*/
17905 variable4 = variable5;
17906 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
17907 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
17908 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
17909 tracehead = trace.prev;
17910 return;
17911 }
17912 void parser___ReduceAction202___init(val_t self, int* init_table) {
17913 struct trace_t trace = {NULL, "parser::ReduceAction202::init (src/parser//parser.nit:9526,1--4)"};
17914 trace.prev = tracehead; tracehead = &trace;
17915 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction202].i]) return;
17916 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction202].i] = 1;
17917 tracehead = trace.prev;
17918 return;
17919 }
17920 void parser___ReduceAction203___action(val_t self, val_t param0) {
17921 struct trace_t trace = {NULL, "parser::ReduceAction203::action (src/parser//parser.nit:9530,2--9540:34)"};
17922 val_t variable0;
17923 val_t variable1;
17924 val_t variable2;
17925 val_t variable3;
17926 val_t variable4;
17927 val_t variable5;
17928 trace.prev = tracehead; tracehead = &trace;
17929 variable0 = param0;
17930 variable1 = NIT_NULL /*null*/;
17931 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17932 variable2 = variable3;
17933 variable3 = variable2 /*nodearraylist1*/;
17934 variable4 = TAG_Bool(( variable3 /*tlenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tlenode2*/, COLOR_TLe, ID_TLe)) /*cast TLe*/;
17935 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9535,6--28\n"); nit_exit(1);}
17936 variable5 = NEW_parser_prod___ALeMethid___init_alemethid( variable3 /*tlenode2*/); /*new ALeMethid*/
17937 variable4 = variable5;
17938 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
17939 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
17940 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
17941 tracehead = trace.prev;
17942 return;
17943 }
17944 void parser___ReduceAction203___init(val_t self, int* init_table) {
17945 struct trace_t trace = {NULL, "parser::ReduceAction203::init (src/parser//parser.nit:9542,1--4)"};
17946 trace.prev = tracehead; tracehead = &trace;
17947 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction203].i]) return;
17948 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction203].i] = 1;
17949 tracehead = trace.prev;
17950 return;
17951 }
17952 void parser___ReduceAction204___action(val_t self, val_t param0) {
17953 struct trace_t trace = {NULL, "parser::ReduceAction204::action (src/parser//parser.nit:9546,2--9556:34)"};
17954 val_t variable0;
17955 val_t variable1;
17956 val_t variable2;
17957 val_t variable3;
17958 val_t variable4;
17959 val_t variable5;
17960 trace.prev = tracehead; tracehead = &trace;
17961 variable0 = param0;
17962 variable1 = NIT_NULL /*null*/;
17963 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17964 variable2 = variable3;
17965 variable3 = variable2 /*nodearraylist1*/;
17966 variable4 = TAG_Bool(( variable3 /*tgenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tgenode2*/, COLOR_TGe, ID_TGe)) /*cast TGe*/;
17967 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9551,6--28\n"); nit_exit(1);}
17968 variable5 = NEW_parser_prod___AGeMethid___init_agemethid( variable3 /*tgenode2*/); /*new AGeMethid*/
17969 variable4 = variable5;
17970 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
17971 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
17972 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
17973 tracehead = trace.prev;
17974 return;
17975 }
17976 void parser___ReduceAction204___init(val_t self, int* init_table) {
17977 struct trace_t trace = {NULL, "parser::ReduceAction204::init (src/parser//parser.nit:9558,1--4)"};
17978 trace.prev = tracehead; tracehead = &trace;
17979 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction204].i]) return;
17980 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction204].i] = 1;
17981 tracehead = trace.prev;
17982 return;
17983 }
17984 void parser___ReduceAction205___action(val_t self, val_t param0) {
17985 struct trace_t trace = {NULL, "parser::ReduceAction205::action (src/parser//parser.nit:9562,2--9572:34)"};
17986 val_t variable0;
17987 val_t variable1;
17988 val_t variable2;
17989 val_t variable3;
17990 val_t variable4;
17991 val_t variable5;
17992 trace.prev = tracehead; tracehead = &trace;
17993 variable0 = param0;
17994 variable1 = NIT_NULL /*null*/;
17995 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
17996 variable2 = variable3;
17997 variable3 = variable2 /*nodearraylist1*/;
17998 variable4 = TAG_Bool(( variable3 /*tltnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tltnode2*/, COLOR_TLt, ID_TLt)) /*cast TLt*/;
17999 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9567,6--28\n"); nit_exit(1);}
18000 variable5 = NEW_parser_prod___ALtMethid___init_altmethid( variable3 /*tltnode2*/); /*new ALtMethid*/
18001 variable4 = variable5;
18002 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
18003 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
18004 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
18005 tracehead = trace.prev;
18006 return;
18007 }
18008 void parser___ReduceAction205___init(val_t self, int* init_table) {
18009 struct trace_t trace = {NULL, "parser::ReduceAction205::init (src/parser//parser.nit:9574,1--4)"};
18010 trace.prev = tracehead; tracehead = &trace;
18011 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction205].i]) return;
18012 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction205].i] = 1;
18013 tracehead = trace.prev;
18014 return;
18015 }
18016 void parser___ReduceAction206___action(val_t self, val_t param0) {
18017 struct trace_t trace = {NULL, "parser::ReduceAction206::action (src/parser//parser.nit:9578,2--9588:34)"};
18018 val_t variable0;
18019 val_t variable1;
18020 val_t variable2;
18021 val_t variable3;
18022 val_t variable4;
18023 val_t variable5;
18024 trace.prev = tracehead; tracehead = &trace;
18025 variable0 = param0;
18026 variable1 = NIT_NULL /*null*/;
18027 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18028 variable2 = variable3;
18029 variable3 = variable2 /*nodearraylist1*/;
18030 variable4 = TAG_Bool(( variable3 /*tgtnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tgtnode2*/, COLOR_TGt, ID_TGt)) /*cast TGt*/;
18031 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9583,6--28\n"); nit_exit(1);}
18032 variable5 = NEW_parser_prod___AGtMethid___init_agtmethid( variable3 /*tgtnode2*/); /*new AGtMethid*/
18033 variable4 = variable5;
18034 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
18035 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
18036 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
18037 tracehead = trace.prev;
18038 return;
18039 }
18040 void parser___ReduceAction206___init(val_t self, int* init_table) {
18041 struct trace_t trace = {NULL, "parser::ReduceAction206::init (src/parser//parser.nit:9590,1--4)"};
18042 trace.prev = tracehead; tracehead = &trace;
18043 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction206].i]) return;
18044 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction206].i] = 1;
18045 tracehead = trace.prev;
18046 return;
18047 }
18048 void parser___ReduceAction207___action(val_t self, val_t param0) {
18049 struct trace_t trace = {NULL, "parser::ReduceAction207::action (src/parser//parser.nit:9594,2--9608:34)"};
18050 val_t variable0;
18051 val_t variable1;
18052 val_t variable2;
18053 val_t variable3;
18054 val_t variable4;
18055 val_t variable5;
18056 val_t variable6;
18057 val_t variable7;
18058 trace.prev = tracehead; tracehead = &trace;
18059 variable0 = param0;
18060 variable1 = NIT_NULL /*null*/;
18061 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18062 variable2 = variable3;
18063 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18064 variable3 = variable4;
18065 variable4 = variable3 /*nodearraylist1*/;
18066 variable5 = TAG_Bool(( variable4 /*tobranode2*/==NIT_NULL) || VAL_ISA( variable4 /*tobranode2*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
18067 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9600,6--32\n"); nit_exit(1);}
18068 variable5 = variable2 /*nodearraylist2*/;
18069 variable6 = TAG_Bool(( variable5 /*tcbranode3*/==NIT_NULL) || VAL_ISA( variable5 /*tcbranode3*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
18070 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9602,6--32\n"); nit_exit(1);}
18071 variable7 = NEW_parser_prod___ABraMethid___init_abramethid( variable4 /*tobranode2*/, variable5 /*tcbranode3*/); /*new ABraMethid*/
18072 variable6 = variable7;
18073 variable1 = variable6 /*pmethidnode1*/ /*node_list=*/;
18074 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
18075 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
18076 tracehead = trace.prev;
18077 return;
18078 }
18079 void parser___ReduceAction207___init(val_t self, int* init_table) {
18080 struct trace_t trace = {NULL, "parser::ReduceAction207::init (src/parser//parser.nit:9610,1--4)"};
18081 trace.prev = tracehead; tracehead = &trace;
18082 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction207].i]) return;
18083 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction207].i] = 1;
18084 tracehead = trace.prev;
18085 return;
18086 }
18087 void parser___ReduceAction208___action(val_t self, val_t param0) {
18088 struct trace_t trace = {NULL, "parser::ReduceAction208::action (src/parser//parser.nit:9614,2--9624:34)"};
18089 val_t variable0;
18090 val_t variable1;
18091 val_t variable2;
18092 val_t variable3;
18093 val_t variable4;
18094 val_t variable5;
18095 trace.prev = tracehead; tracehead = &trace;
18096 variable0 = param0;
18097 variable1 = NIT_NULL /*null*/;
18098 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18099 variable2 = variable3;
18100 variable3 = variable2 /*nodearraylist1*/;
18101 variable4 = TAG_Bool(( variable3 /*tstarshipnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstarshipnode2*/, COLOR_TStarship, ID_TStarship)) /*cast TStarship*/;
18102 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9619,6--40\n"); nit_exit(1);}
18103 variable5 = NEW_parser_prod___AStarshipMethid___init_astarshipmethid( variable3 /*tstarshipnode2*/); /*new AStarshipMethid*/
18104 variable4 = variable5;
18105 variable1 = variable4 /*pmethidnode1*/ /*node_list=*/;
18106 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
18107 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
18108 tracehead = trace.prev;
18109 return;
18110 }
18111 void parser___ReduceAction208___init(val_t self, int* init_table) {
18112 struct trace_t trace = {NULL, "parser::ReduceAction208::init (src/parser//parser.nit:9626,1--4)"};
18113 trace.prev = tracehead; tracehead = &trace;
18114 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction208].i]) return;
18115 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction208].i] = 1;
18116 tracehead = trace.prev;
18117 return;
18118 }
18119 void parser___ReduceAction209___action(val_t self, val_t param0) {
18120 struct trace_t trace = {NULL, "parser::ReduceAction209::action (src/parser//parser.nit:9630,2--9644:34)"};
18121 val_t variable0;
18122 val_t variable1;
18123 val_t variable2;
18124 val_t variable3;
18125 val_t variable4;
18126 val_t variable5;
18127 val_t variable6;
18128 val_t variable7;
18129 trace.prev = tracehead; tracehead = &trace;
18130 variable0 = param0;
18131 variable1 = NIT_NULL /*null*/;
18132 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18133 variable2 = variable3;
18134 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18135 variable3 = variable4;
18136 variable4 = variable3 /*nodearraylist1*/;
18137 variable5 = TAG_Bool(( variable4 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
18138 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9636,6--28\n"); nit_exit(1);}
18139 variable5 = variable2 /*nodearraylist2*/;
18140 variable6 = TAG_Bool(( variable5 /*tassignnode3*/==NIT_NULL) || VAL_ISA( variable5 /*tassignnode3*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
18141 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9638,6--36\n"); nit_exit(1);}
18142 variable7 = NEW_parser_prod___AAssignMethid___init_aassignmethid( variable4 /*tidnode2*/, variable5 /*tassignnode3*/); /*new AAssignMethid*/
18143 variable6 = variable7;
18144 variable1 = variable6 /*pmethidnode1*/ /*node_list=*/;
18145 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
18146 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
18147 tracehead = trace.prev;
18148 return;
18149 }
18150 void parser___ReduceAction209___init(val_t self, int* init_table) {
18151 struct trace_t trace = {NULL, "parser::ReduceAction209::init (src/parser//parser.nit:9646,1--4)"};
18152 trace.prev = tracehead; tracehead = &trace;
18153 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction209].i]) return;
18154 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction209].i] = 1;
18155 tracehead = trace.prev;
18156 return;
18157 }
18158 void parser___ReduceAction210___action(val_t self, val_t param0) {
18159 struct trace_t trace = {NULL, "parser::ReduceAction210::action (src/parser//parser.nit:9650,2--9668:34)"};
18160 val_t variable0;
18161 val_t variable1;
18162 val_t variable2;
18163 val_t variable3;
18164 val_t variable4;
18165 val_t variable5;
18166 val_t variable6;
18167 val_t variable7;
18168 val_t variable8;
18169 val_t variable9;
18170 trace.prev = tracehead; tracehead = &trace;
18171 variable0 = param0;
18172 variable1 = NIT_NULL /*null*/;
18173 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18174 variable2 = variable3;
18175 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18176 variable3 = variable4;
18177 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18178 variable4 = variable5;
18179 variable5 = variable4 /*nodearraylist1*/;
18180 variable6 = TAG_Bool(( variable5 /*tobranode2*/==NIT_NULL) || VAL_ISA( variable5 /*tobranode2*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
18181 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9657,6--32\n"); nit_exit(1);}
18182 variable6 = variable3 /*nodearraylist2*/;
18183 variable7 = TAG_Bool(( variable6 /*tcbranode3*/==NIT_NULL) || VAL_ISA( variable6 /*tcbranode3*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
18184 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9659,6--32\n"); nit_exit(1);}
18185 variable7 = variable2 /*nodearraylist3*/;
18186 variable8 = TAG_Bool(( variable7 /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable7 /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
18187 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9661,6--36\n"); nit_exit(1);}
18188 variable9 = NEW_parser_prod___ABraassignMethid___init_abraassignmethid( variable5 /*tobranode2*/, variable6 /*tcbranode3*/, variable7 /*tassignnode4*/); /*new ABraassignMethid*/
18189 variable8 = variable9;
18190 variable1 = variable8 /*pmethidnode1*/ /*node_list=*/;
18191 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/;
18192 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
18193 tracehead = trace.prev;
18194 return;
18195 }
18196 void parser___ReduceAction210___init(val_t self, int* init_table) {
18197 struct trace_t trace = {NULL, "parser::ReduceAction210::init (src/parser//parser.nit:9670,1--4)"};
18198 trace.prev = tracehead; tracehead = &trace;
18199 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction210].i]) return;
18200 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction210].i] = 1;
18201 tracehead = trace.prev;
18202 return;
18203 }
18204 void parser___ReduceAction211___action(val_t self, val_t param0) {
18205 struct trace_t trace = {NULL, "parser::ReduceAction211::action (src/parser//parser.nit:9674,2--9683:34)"};
18206 val_t variable0;
18207 val_t variable1;
18208 val_t variable2;
18209 val_t variable3;
18210 val_t variable4;
18211 trace.prev = tracehead; tracehead = &trace;
18212 variable0 = param0;
18213 variable1 = NIT_NULL /*null*/;
18214 variable3 = NEW_array___Array___init(); /*new Array[Object]*/
18215 variable2 = variable3;
18216 variable4 = NEW_parser_prod___ASignature___init_asignature( variable2 /*listnode2*/, NIT_NULL /*null*/); /*new ASignature*/
18217 variable3 = variable4;
18218 variable1 = variable3 /*psignaturenode1*/ /*node_list=*/;
18219 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(17)) /*Parser::go_to*/;
18220 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
18221 tracehead = trace.prev;
18222 return;
18223 }
18224 void parser___ReduceAction211___init(val_t self, int* init_table) {
18225 struct trace_t trace = {NULL, "parser::ReduceAction211::init (src/parser//parser.nit:9685,1--4)"};
18226 trace.prev = tracehead; tracehead = &trace;
18227 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction211].i]) return;
18228 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction211].i] = 1;
18229 tracehead = trace.prev;
18230 return;
18231 }
18232 void parser___ReduceAction212___action(val_t self, val_t param0) {
18233 struct trace_t trace = {NULL, "parser::ReduceAction212::action (src/parser//parser.nit:9689,2--9708:34)"};
18234 val_t variable0;
18235 val_t variable1;
18236 val_t variable2;
18237 val_t variable3;
18238 val_t variable4;
18239 val_t variable5;
18240 val_t variable6;
18241 trace.prev = tracehead; tracehead = &trace;
18242 variable0 = param0;
18243 variable1 = NIT_NULL /*null*/;
18244 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18245 variable2 = variable3;
18246 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
18247 variable3 = variable4;
18248 variable4 = variable2 /*nodearraylist1*/;
18249 variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18250 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9695,6--38\n"); nit_exit(1);}
18251 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ == NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
18252 if (UNTAG_Bool(variable5)) { /*if*/
18253 variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*Array::is_empty*/;
18254 if (UNTAG_Bool(variable5)) { /*if*/
18255 variable3 = variable4 /*listnode2*/ /*listnode3=*/;
18256 } else { /*if*/
18257 ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/, variable4 /*listnode2*/) /*Array::append*/;
18258 }
18259 }
18260 variable6 = NEW_parser_prod___ASignature___init_asignature( variable3 /*listnode3*/, NIT_NULL /*null*/); /*new ASignature*/
18261 variable5 = variable6;
18262 variable1 = variable5 /*psignaturenode1*/ /*node_list=*/;
18263 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(17)) /*Parser::go_to*/;
18264 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
18265 tracehead = trace.prev;
18266 return;
18267 }
18268 void parser___ReduceAction212___init(val_t self, int* init_table) {
18269 struct trace_t trace = {NULL, "parser::ReduceAction212::init (src/parser//parser.nit:9710,1--4)"};
18270 trace.prev = tracehead; tracehead = &trace;
18271 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction212].i]) return;
18272 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction212].i] = 1;
18273 tracehead = trace.prev;
18274 return;
18275 }
18276 void parser___ReduceAction213___action(val_t self, val_t param0) {
18277 struct trace_t trace = {NULL, "parser::ReduceAction213::action (src/parser//parser.nit:9714,2--9726:34)"};
18278 val_t variable0;
18279 val_t variable1;
18280 val_t variable2;
18281 val_t variable3;
18282 val_t variable4;
18283 val_t variable5;
18284 val_t variable6;
18285 trace.prev = tracehead; tracehead = &trace;
18286 variable0 = param0;
18287 variable1 = NIT_NULL /*null*/;
18288 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18289 variable2 = variable3;
18290 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
18291 variable3 = variable4;
18292 variable4 = variable2 /*nodearraylist1*/;
18293 variable5 = TAG_Bool(( variable4 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable4 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
18294 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9720,6--32\n"); nit_exit(1);}
18295 variable6 = NEW_parser_prod___ASignature___init_asignature( variable3 /*listnode2*/, variable4 /*ptypenode3*/); /*new ASignature*/
18296 variable5 = variable6;
18297 variable1 = variable5 /*psignaturenode1*/ /*node_list=*/;
18298 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(17)) /*Parser::go_to*/;
18299 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
18300 tracehead = trace.prev;
18301 return;
18302 }
18303 void parser___ReduceAction213___init(val_t self, int* init_table) {
18304 struct trace_t trace = {NULL, "parser::ReduceAction213::init (src/parser//parser.nit:9728,1--4)"};
18305 trace.prev = tracehead; tracehead = &trace;
18306 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction213].i]) return;
18307 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction213].i] = 1;
18308 tracehead = trace.prev;
18309 return;
18310 }
18311 void parser___ReduceAction214___action(val_t self, val_t param0) {
18312 struct trace_t trace = {NULL, "parser::ReduceAction214::action (src/parser//parser.nit:9732,2--9754:34)"};
18313 val_t variable0;
18314 val_t variable1;
18315 val_t variable2;
18316 val_t variable3;
18317 val_t variable4;
18318 val_t variable5;
18319 val_t variable6;
18320 val_t variable7;
18321 val_t variable8;
18322 trace.prev = tracehead; tracehead = &trace;
18323 variable0 = param0;
18324 variable1 = NIT_NULL /*null*/;
18325 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18326 variable2 = variable3;
18327 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18328 variable3 = variable4;
18329 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
18330 variable4 = variable5;
18331 variable5 = variable3 /*nodearraylist1*/;
18332 variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18333 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9739,6--38\n"); nit_exit(1);}
18334 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ == NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
18335 if (UNTAG_Bool(variable6)) { /*if*/
18336 variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
18337 if (UNTAG_Bool(variable6)) { /*if*/
18338 variable4 = variable5 /*listnode2*/ /*listnode3=*/;
18339 } else { /*if*/
18340 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode2*/) /*Array::append*/;
18341 }
18342 }
18343 variable6 = variable2 /*nodearraylist2*/;
18344 variable7 = TAG_Bool(( variable6 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable6 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
18345 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9748,6--32\n"); nit_exit(1);}
18346 variable8 = NEW_parser_prod___ASignature___init_asignature( variable4 /*listnode3*/, variable6 /*ptypenode4*/); /*new ASignature*/
18347 variable7 = variable8;
18348 variable1 = variable7 /*psignaturenode1*/ /*node_list=*/;
18349 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(17)) /*Parser::go_to*/;
18350 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
18351 tracehead = trace.prev;
18352 return;
18353 }
18354 void parser___ReduceAction214___init(val_t self, int* init_table) {
18355 struct trace_t trace = {NULL, "parser::ReduceAction214::init (src/parser//parser.nit:9756,1--4)"};
18356 trace.prev = tracehead; tracehead = &trace;
18357 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction214].i]) return;
18358 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction214].i] = 1;
18359 tracehead = trace.prev;
18360 return;
18361 }
18362 void parser___ReduceAction215___action(val_t self, val_t param0) {
18363 struct trace_t trace = {NULL, "parser::ReduceAction215::action (src/parser//parser.nit:9760,2--9775:34)"};
18364 val_t variable0;
18365 val_t variable1;
18366 val_t variable2;
18367 val_t variable3;
18368 val_t variable4;
18369 val_t variable5;
18370 val_t variable6;
18371 val_t variable7;
18372 val_t variable8;
18373 val_t variable9;
18374 trace.prev = tracehead; tracehead = &trace;
18375 variable0 = param0;
18376 variable1 = NIT_NULL /*null*/;
18377 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18378 variable2 = variable3;
18379 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18380 variable3 = variable4;
18381 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18382 variable4 = variable5;
18383 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18384 variable5 = variable6;
18385 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18386 variable6 = variable7;
18387 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
18388 variable7 = variable8;
18389 variable8 = variable4 /*nodearraylist3*/;
18390 variable9 = TAG_Bool(( variable8 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
18391 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9770,6--34\n"); nit_exit(1);}
18392 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pparamnode1*/ == NIT_NULL /*null*/) || (( variable8 /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pparamnode1*/, NIT_NULL /*null*/) /*PParam::==*/)))))));
18393 if (UNTAG_Bool(variable9)) { /*if*/
18394 ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/, variable8 /*pparamnode1*/) /*Array::add*/;
18395 }
18396 variable1 = variable7 /*listnode2*/ /*node_list=*/;
18397 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(18)) /*Parser::go_to*/;
18398 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
18399 tracehead = trace.prev;
18400 return;
18401 }
18402 void parser___ReduceAction215___init(val_t self, int* init_table) {
18403 struct trace_t trace = {NULL, "parser::ReduceAction215::init (src/parser//parser.nit:9777,1--4)"};
18404 trace.prev = tracehead; tracehead = &trace;
18405 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction215].i]) return;
18406 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction215].i] = 1;
18407 tracehead = trace.prev;
18408 return;
18409 }
18410 void parser___ReduceAction216___action(val_t self, val_t param0) {
18411 struct trace_t trace = {NULL, "parser::ReduceAction216::action (src/parser//parser.nit:9781,2--9806:34)"};
18412 val_t variable0;
18413 val_t variable1;
18414 val_t variable2;
18415 val_t variable3;
18416 val_t variable4;
18417 val_t variable5;
18418 val_t variable6;
18419 val_t variable7;
18420 val_t variable8;
18421 val_t variable9;
18422 val_t variable10;
18423 val_t variable11;
18424 trace.prev = tracehead; tracehead = &trace;
18425 variable0 = param0;
18426 variable1 = NIT_NULL /*null*/;
18427 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18428 variable2 = variable3;
18429 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18430 variable3 = variable4;
18431 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18432 variable4 = variable5;
18433 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18434 variable5 = variable6;
18435 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18436 variable6 = variable7;
18437 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18438 variable7 = variable8;
18439 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
18440 variable8 = variable9;
18441 variable9 = variable5 /*nodearraylist3*/;
18442 variable10 = TAG_Bool(( variable9 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
18443 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9792,6--34\n"); nit_exit(1);}
18444 variable10 = variable4 /*nodearraylist4*/;
18445 variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18446 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9794,6--38\n"); nit_exit(1);}
18447 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pparamnode1*/ == NIT_NULL /*null*/) || (( variable9 /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pparamnode1*/, NIT_NULL /*null*/) /*PParam::==*/)))))));
18448 if (UNTAG_Bool(variable11)) { /*if*/
18449 ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/, variable9 /*pparamnode1*/) /*Array::add*/;
18450 }
18451 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ == NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
18452 if (UNTAG_Bool(variable11)) { /*if*/
18453 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/;
18454 if (UNTAG_Bool(variable11)) { /*if*/
18455 variable8 = variable10 /*listnode2*/ /*listnode3=*/;
18456 } else { /*if*/
18457 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/, variable10 /*listnode2*/) /*Array::append*/;
18458 }
18459 }
18460 variable1 = variable8 /*listnode3*/ /*node_list=*/;
18461 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(18)) /*Parser::go_to*/;
18462 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
18463 tracehead = trace.prev;
18464 return;
18465 }
18466 void parser___ReduceAction216___init(val_t self, int* init_table) {
18467 struct trace_t trace = {NULL, "parser::ReduceAction216::init (src/parser//parser.nit:9808,1--4)"};
18468 trace.prev = tracehead; tracehead = &trace;
18469 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction216].i]) return;
18470 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction216].i] = 1;
18471 tracehead = trace.prev;
18472 return;
18473 }
18474 void parser___ReduceAction217___action(val_t self, val_t param0) {
18475 struct trace_t trace = {NULL, "parser::ReduceAction217::action (src/parser//parser.nit:9812,2--9820:34)"};
18476 val_t variable0;
18477 val_t variable1;
18478 val_t variable2;
18479 val_t variable3;
18480 val_t variable4;
18481 val_t variable5;
18482 val_t variable6;
18483 trace.prev = tracehead; tracehead = &trace;
18484 variable0 = param0;
18485 variable1 = NIT_NULL /*null*/;
18486 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18487 variable2 = variable3;
18488 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18489 variable3 = variable4;
18490 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18491 variable4 = variable5;
18492 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
18493 variable5 = variable6;
18494 variable1 = variable5 /*listnode1*/ /*node_list=*/;
18495 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(18)) /*Parser::go_to*/;
18496 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
18497 tracehead = trace.prev;
18498 return;
18499 }
18500 void parser___ReduceAction217___init(val_t self, int* init_table) {
18501 struct trace_t trace = {NULL, "parser::ReduceAction217::init (src/parser//parser.nit:9822,1--4)"};
18502 trace.prev = tracehead; tracehead = &trace;
18503 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction217].i]) return;
18504 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction217].i] = 1;
18505 tracehead = trace.prev;
18506 return;
18507 }
18508 void parser___ReduceAction218___action(val_t self, val_t param0) {
18509 struct trace_t trace = {NULL, "parser::ReduceAction218::action (src/parser//parser.nit:9826,2--9835:34)"};
18510 val_t variable0;
18511 val_t variable1;
18512 val_t variable2;
18513 val_t variable3;
18514 val_t variable4;
18515 val_t variable5;
18516 val_t variable6;
18517 trace.prev = tracehead; tracehead = &trace;
18518 variable0 = param0;
18519 variable1 = NIT_NULL /*null*/;
18520 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18521 variable2 = variable3;
18522 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18523 variable3 = variable4;
18524 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18525 variable4 = variable5;
18526 variable5 = variable2 /*nodearraylist3*/;
18527 variable6 = TAG_Bool(( variable5 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
18528 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9833,6--34\n"); nit_exit(1);}
18529 variable1 = variable5 /*pparamnode1*/ /*node_list=*/;
18530 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(19)) /*Parser::go_to*/;
18531 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
18532 tracehead = trace.prev;
18533 return;
18534 }
18535 void parser___ReduceAction218___init(val_t self, int* init_table) {
18536 struct trace_t trace = {NULL, "parser::ReduceAction218::init (src/parser//parser.nit:9837,1--4)"};
18537 trace.prev = tracehead; tracehead = &trace;
18538 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction218].i]) return;
18539 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction218].i] = 1;
18540 tracehead = trace.prev;
18541 return;
18542 }
18543 void parser___ReduceAction219___action(val_t self, val_t param0) {
18544 struct trace_t trace = {NULL, "parser::ReduceAction219::action (src/parser//parser.nit:9841,2--9853:34)"};
18545 val_t variable0;
18546 val_t variable1;
18547 val_t variable2;
18548 val_t variable3;
18549 val_t variable4;
18550 val_t variable5;
18551 trace.prev = tracehead; tracehead = &trace;
18552 variable0 = param0;
18553 variable1 = NIT_NULL /*null*/;
18554 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18555 variable2 = variable3;
18556 variable3 = variable2 /*nodearraylist1*/;
18557 variable4 = TAG_Bool(( variable3 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
18558 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9846,6--28\n"); nit_exit(1);}
18559 variable5 = NEW_parser_prod___AParam___init_aparam( variable3 /*tidnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AParam*/
18560 variable4 = variable5;
18561 variable1 = variable4 /*pparamnode1*/ /*node_list=*/;
18562 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(20)) /*Parser::go_to*/;
18563 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
18564 tracehead = trace.prev;
18565 return;
18566 }
18567 void parser___ReduceAction219___init(val_t self, int* init_table) {
18568 struct trace_t trace = {NULL, "parser::ReduceAction219::init (src/parser//parser.nit:9855,1--4)"};
18569 trace.prev = tracehead; tracehead = &trace;
18570 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction219].i]) return;
18571 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction219].i] = 1;
18572 tracehead = trace.prev;
18573 return;
18574 }
18575 void parser___ReduceAction220___action(val_t self, val_t param0) {
18576 struct trace_t trace = {NULL, "parser::ReduceAction220::action (src/parser//parser.nit:9859,2--9874:34)"};
18577 val_t variable0;
18578 val_t variable1;
18579 val_t variable2;
18580 val_t variable3;
18581 val_t variable4;
18582 val_t variable5;
18583 val_t variable6;
18584 val_t variable7;
18585 trace.prev = tracehead; tracehead = &trace;
18586 variable0 = param0;
18587 variable1 = NIT_NULL /*null*/;
18588 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18589 variable2 = variable3;
18590 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18591 variable3 = variable4;
18592 variable4 = variable3 /*nodearraylist1*/;
18593 variable5 = TAG_Bool(( variable4 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
18594 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9865,6--28\n"); nit_exit(1);}
18595 variable5 = variable2 /*nodearraylist2*/;
18596 variable6 = TAG_Bool(( variable5 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
18597 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9867,6--32\n"); nit_exit(1);}
18598 variable7 = NEW_parser_prod___AParam___init_aparam( variable4 /*tidnode2*/, variable5 /*ptypenode3*/, NIT_NULL /*null*/); /*new AParam*/
18599 variable6 = variable7;
18600 variable1 = variable6 /*pparamnode1*/ /*node_list=*/;
18601 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(20)) /*Parser::go_to*/;
18602 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
18603 tracehead = trace.prev;
18604 return;
18605 }
18606 void parser___ReduceAction220___init(val_t self, int* init_table) {
18607 struct trace_t trace = {NULL, "parser::ReduceAction220::init (src/parser//parser.nit:9876,1--4)"};
18608 trace.prev = tracehead; tracehead = &trace;
18609 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction220].i]) return;
18610 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction220].i] = 1;
18611 tracehead = trace.prev;
18612 return;
18613 }
18614 void parser___ReduceAction221___action(val_t self, val_t param0) {
18615 struct trace_t trace = {NULL, "parser::ReduceAction221::action (src/parser//parser.nit:9880,2--9898:34)"};
18616 val_t variable0;
18617 val_t variable1;
18618 val_t variable2;
18619 val_t variable3;
18620 val_t variable4;
18621 val_t variable5;
18622 val_t variable6;
18623 val_t variable7;
18624 val_t variable8;
18625 val_t variable9;
18626 trace.prev = tracehead; tracehead = &trace;
18627 variable0 = param0;
18628 variable1 = NIT_NULL /*null*/;
18629 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18630 variable2 = variable3;
18631 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18632 variable3 = variable4;
18633 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18634 variable4 = variable5;
18635 variable5 = variable4 /*nodearraylist1*/;
18636 variable6 = TAG_Bool(( variable5 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
18637 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9887,6--28\n"); nit_exit(1);}
18638 variable6 = variable3 /*nodearraylist2*/;
18639 variable7 = TAG_Bool(( variable6 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable6 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
18640 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9889,6--32\n"); nit_exit(1);}
18641 variable7 = variable2 /*nodearraylist3*/;
18642 variable8 = TAG_Bool(( variable7 /*tdotdotdotnode4*/==NIT_NULL) || VAL_ISA( variable7 /*tdotdotdotnode4*/, COLOR_TDotdotdot, ID_TDotdotdot)) /*cast TDotdotdot*/;
18643 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9891,6--42\n"); nit_exit(1);}
18644 variable9 = NEW_parser_prod___AParam___init_aparam( variable5 /*tidnode2*/, variable6 /*ptypenode3*/, variable7 /*tdotdotdotnode4*/); /*new AParam*/
18645 variable8 = variable9;
18646 variable1 = variable8 /*pparamnode1*/ /*node_list=*/;
18647 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(20)) /*Parser::go_to*/;
18648 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
18649 tracehead = trace.prev;
18650 return;
18651 }
18652 void parser___ReduceAction221___init(val_t self, int* init_table) {
18653 struct trace_t trace = {NULL, "parser::ReduceAction221::init (src/parser//parser.nit:9900,1--4)"};
18654 trace.prev = tracehead; tracehead = &trace;
18655 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction221].i]) return;
18656 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction221].i] = 1;
18657 tracehead = trace.prev;
18658 return;
18659 }
18660 void parser___ReduceAction222___action(val_t self, val_t param0) {
18661 struct trace_t trace = {NULL, "parser::ReduceAction222::action (src/parser//parser.nit:9904,2--9916:34)"};
18662 val_t variable0;
18663 val_t variable1;
18664 val_t variable2;
18665 val_t variable3;
18666 val_t variable4;
18667 val_t variable5;
18668 val_t variable6;
18669 trace.prev = tracehead; tracehead = &trace;
18670 variable0 = param0;
18671 variable1 = NIT_NULL /*null*/;
18672 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18673 variable2 = variable3;
18674 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
18675 variable3 = variable4;
18676 variable4 = variable2 /*nodearraylist1*/;
18677 variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
18678 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9910,6--38\n"); nit_exit(1);}
18679 variable6 = NEW_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/, variable3 /*listnode3*/); /*new AType*/
18680 variable5 = variable6;
18681 variable1 = variable5 /*ptypenode1*/ /*node_list=*/;
18682 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(21)) /*Parser::go_to*/;
18683 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
18684 tracehead = trace.prev;
18685 return;
18686 }
18687 void parser___ReduceAction222___init(val_t self, int* init_table) {
18688 struct trace_t trace = {NULL, "parser::ReduceAction222::init (src/parser//parser.nit:9918,1--4)"};
18689 trace.prev = tracehead; tracehead = &trace;
18690 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction222].i]) return;
18691 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction222].i] = 1;
18692 tracehead = trace.prev;
18693 return;
18694 }
18695 void parser___ReduceAction223___action(val_t self, val_t param0) {
18696 struct trace_t trace = {NULL, "parser::ReduceAction223::action (src/parser//parser.nit:9922,2--9948:34)"};
18697 val_t variable0;
18698 val_t variable1;
18699 val_t variable2;
18700 val_t variable3;
18701 val_t variable4;
18702 val_t variable5;
18703 val_t variable6;
18704 val_t variable7;
18705 val_t variable8;
18706 val_t variable9;
18707 val_t variable10;
18708 val_t variable11;
18709 val_t variable12;
18710 trace.prev = tracehead; tracehead = &trace;
18711 variable0 = param0;
18712 variable1 = NIT_NULL /*null*/;
18713 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18714 variable2 = variable3;
18715 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18716 variable3 = variable4;
18717 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18718 variable4 = variable5;
18719 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18720 variable5 = variable6;
18721 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18722 variable6 = variable7;
18723 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18724 variable7 = variable8;
18725 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
18726 variable8 = variable9;
18727 variable9 = variable7 /*nodearraylist1*/;
18728 variable10 = TAG_Bool(( variable9 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable9 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
18729 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9933,6--38\n"); nit_exit(1);}
18730 variable10 = variable4 /*nodearraylist4*/;
18731 variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18732 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9935,6--38\n"); nit_exit(1);}
18733 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ == NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
18734 if (UNTAG_Bool(variable11)) { /*if*/
18735 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/;
18736 if (UNTAG_Bool(variable11)) { /*if*/
18737 variable8 = variable10 /*listnode3*/ /*listnode4=*/;
18738 } else { /*if*/
18739 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/, variable10 /*listnode3*/) /*Array::append*/;
18740 }
18741 }
18742 variable12 = NEW_parser_prod___AType___init_atype( variable9 /*tclassidnode2*/, variable8 /*listnode4*/); /*new AType*/
18743 variable11 = variable12;
18744 variable1 = variable11 /*ptypenode1*/ /*node_list=*/;
18745 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(21)) /*Parser::go_to*/;
18746 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
18747 tracehead = trace.prev;
18748 return;
18749 }
18750 void parser___ReduceAction223___init(val_t self, int* init_table) {
18751 struct trace_t trace = {NULL, "parser::ReduceAction223::init (src/parser//parser.nit:9950,1--4)"};
18752 trace.prev = tracehead; tracehead = &trace;
18753 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction223].i]) return;
18754 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction223].i] = 1;
18755 tracehead = trace.prev;
18756 return;
18757 }
18758 void parser___ReduceAction224___action(val_t self, val_t param0) {
18759 struct trace_t trace = {NULL, "parser::ReduceAction224::action (src/parser//parser.nit:9954,2--9965:34)"};
18760 val_t variable0;
18761 val_t variable1;
18762 val_t variable2;
18763 val_t variable3;
18764 val_t variable4;
18765 val_t variable5;
18766 trace.prev = tracehead; tracehead = &trace;
18767 variable0 = param0;
18768 variable1 = NIT_NULL /*null*/;
18769 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18770 variable2 = variable3;
18771 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
18772 variable3 = variable4;
18773 variable4 = variable2 /*nodearraylist1*/;
18774 variable5 = TAG_Bool(( variable4 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable4 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
18775 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9960,6--32\n"); nit_exit(1);}
18776 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ptypenode1*/ == NIT_NULL /*null*/) || (( variable4 /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ptypenode1*/, NIT_NULL /*null*/) /*PType::==*/)))))));
18777 if (UNTAG_Bool(variable5)) { /*if*/
18778 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*ptypenode1*/) /*Array::add*/;
18779 }
18780 variable1 = variable3 /*listnode2*/ /*node_list=*/;
18781 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(22)) /*Parser::go_to*/;
18782 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
18783 tracehead = trace.prev;
18784 return;
18785 }
18786 void parser___ReduceAction224___init(val_t self, int* init_table) {
18787 struct trace_t trace = {NULL, "parser::ReduceAction224::init (src/parser//parser.nit:9967,1--4)"};
18788 trace.prev = tracehead; tracehead = &trace;
18789 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction224].i]) return;
18790 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction224].i] = 1;
18791 tracehead = trace.prev;
18792 return;
18793 }
18794 void parser___ReduceAction225___action(val_t self, val_t param0) {
18795 struct trace_t trace = {NULL, "parser::ReduceAction225::action (src/parser//parser.nit:9971,2--9992:34)"};
18796 val_t variable0;
18797 val_t variable1;
18798 val_t variable2;
18799 val_t variable3;
18800 val_t variable4;
18801 val_t variable5;
18802 val_t variable6;
18803 val_t variable7;
18804 trace.prev = tracehead; tracehead = &trace;
18805 variable0 = param0;
18806 variable1 = NIT_NULL /*null*/;
18807 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18808 variable2 = variable3;
18809 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18810 variable3 = variable4;
18811 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
18812 variable4 = variable5;
18813 variable5 = variable3 /*nodearraylist1*/;
18814 variable6 = TAG_Bool(( variable5 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
18815 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9978,6--32\n"); nit_exit(1);}
18816 variable6 = variable2 /*nodearraylist2*/;
18817 variable7 = TAG_Bool(( variable6 /*listnode2*/==NIT_NULL) || VAL_ISA( variable6 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18818 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9980,6--38\n"); nit_exit(1);}
18819 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*ptypenode1*/ == NIT_NULL /*null*/) || (( variable5 /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*ptypenode1*/, NIT_NULL /*null*/) /*PType::==*/)))))));
18820 if (UNTAG_Bool(variable7)) { /*if*/
18821 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable5 /*ptypenode1*/) /*Array::add*/;
18822 }
18823 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode2*/ == NIT_NULL /*null*/) || (( variable6 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
18824 if (UNTAG_Bool(variable7)) { /*if*/
18825 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
18826 if (UNTAG_Bool(variable7)) { /*if*/
18827 variable4 = variable6 /*listnode2*/ /*listnode3=*/;
18828 } else { /*if*/
18829 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable6 /*listnode2*/) /*Array::append*/;
18830 }
18831 }
18832 variable1 = variable4 /*listnode3*/ /*node_list=*/;
18833 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(22)) /*Parser::go_to*/;
18834 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
18835 tracehead = trace.prev;
18836 return;
18837 }
18838 void parser___ReduceAction225___init(val_t self, int* init_table) {
18839 struct trace_t trace = {NULL, "parser::ReduceAction225::init (src/parser//parser.nit:9994,1--4)"};
18840 trace.prev = tracehead; tracehead = &trace;
18841 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction225].i]) return;
18842 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction225].i] = 1;
18843 tracehead = trace.prev;
18844 return;
18845 }
18846 void parser___ReduceAction226___action(val_t self, val_t param0) {
18847 struct trace_t trace = {NULL, "parser::ReduceAction226::action (src/parser//parser.nit:9998,2--10007:34)"};
18848 val_t variable0;
18849 val_t variable1;
18850 val_t variable2;
18851 val_t variable3;
18852 val_t variable4;
18853 val_t variable5;
18854 val_t variable6;
18855 trace.prev = tracehead; tracehead = &trace;
18856 variable0 = param0;
18857 variable1 = NIT_NULL /*null*/;
18858 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18859 variable2 = variable3;
18860 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18861 variable3 = variable4;
18862 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18863 variable4 = variable5;
18864 variable5 = variable2 /*nodearraylist3*/;
18865 variable6 = TAG_Bool(( variable5 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
18866 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10005,6--32\n"); nit_exit(1);}
18867 variable1 = variable5 /*ptypenode1*/ /*node_list=*/;
18868 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(23)) /*Parser::go_to*/;
18869 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
18870 tracehead = trace.prev;
18871 return;
18872 }
18873 void parser___ReduceAction226___init(val_t self, int* init_table) {
18874 struct trace_t trace = {NULL, "parser::ReduceAction226::init (src/parser//parser.nit:10009,1--4)"};
18875 trace.prev = tracehead; tracehead = &trace;
18876 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction226].i]) return;
18877 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction226].i] = 1;
18878 tracehead = trace.prev;
18879 return;
18880 }
18881 void parser___ReduceAction227___action(val_t self, val_t param0) {
18882 struct trace_t trace = {NULL, "parser::ReduceAction227::action (src/parser//parser.nit:10013,2--10022:34)"};
18883 val_t variable0;
18884 val_t variable1;
18885 val_t variable2;
18886 val_t variable3;
18887 val_t variable4;
18888 val_t variable5;
18889 val_t variable6;
18890 trace.prev = tracehead; tracehead = &trace;
18891 variable0 = param0;
18892 variable1 = NIT_NULL /*null*/;
18893 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18894 variable2 = variable3;
18895 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18896 variable3 = variable4;
18897 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18898 variable4 = variable5;
18899 variable5 = variable2 /*nodearraylist3*/;
18900 variable6 = TAG_Bool(( variable5 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
18901 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10020,6--32\n"); nit_exit(1);}
18902 variable1 = variable5 /*ptypenode1*/ /*node_list=*/;
18903 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(24)) /*Parser::go_to*/;
18904 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
18905 tracehead = trace.prev;
18906 return;
18907 }
18908 void parser___ReduceAction227___init(val_t self, int* init_table) {
18909 struct trace_t trace = {NULL, "parser::ReduceAction227::init (src/parser//parser.nit:10024,1--4)"};
18910 trace.prev = tracehead; tracehead = &trace;
18911 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction227].i]) return;
18912 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction227].i] = 1;
18913 tracehead = trace.prev;
18914 return;
18915 }
18916 void parser___ReduceAction228___action(val_t self, val_t param0) {
18917 struct trace_t trace = {NULL, "parser::ReduceAction228::action (src/parser//parser.nit:10028,2--10035:34)"};
18918 val_t variable0;
18919 val_t variable1;
18920 val_t variable2;
18921 val_t variable3;
18922 val_t variable4;
18923 trace.prev = tracehead; tracehead = &trace;
18924 variable0 = param0;
18925 variable1 = NIT_NULL /*null*/;
18926 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18927 variable2 = variable3;
18928 variable3 = variable2 /*nodearraylist1*/;
18929 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18930 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10033,6--32\n"); nit_exit(1);}
18931 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
18932 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(25)) /*Parser::go_to*/;
18933 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
18934 tracehead = trace.prev;
18935 return;
18936 }
18937 void parser___ReduceAction228___init(val_t self, int* init_table) {
18938 struct trace_t trace = {NULL, "parser::ReduceAction228::init (src/parser//parser.nit:10037,1--4)"};
18939 trace.prev = tracehead; tracehead = &trace;
18940 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction228].i]) return;
18941 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction228].i] = 1;
18942 tracehead = trace.prev;
18943 return;
18944 }
18945 void parser___ReduceAction229___action(val_t self, val_t param0) {
18946 struct trace_t trace = {NULL, "parser::ReduceAction229::action (src/parser//parser.nit:10041,2--10058:34)"};
18947 val_t variable0;
18948 val_t variable1;
18949 val_t variable2;
18950 val_t variable3;
18951 val_t variable4;
18952 val_t variable5;
18953 val_t variable6;
18954 val_t variable7;
18955 val_t variable8;
18956 val_t variable9;
18957 trace.prev = tracehead; tracehead = &trace;
18958 variable0 = param0;
18959 variable1 = NIT_NULL /*null*/;
18960 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18961 variable2 = variable3;
18962 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18963 variable3 = variable4;
18964 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18965 variable4 = variable5;
18966 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
18967 variable5 = variable6;
18968 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
18969 variable6 = variable7;
18970 variable7 = variable4 /*nodearraylist2*/;
18971 variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18972 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10050,6--32\n"); nit_exit(1);}
18973 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable7 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
18974 if (UNTAG_Bool(variable8)) { /*if*/
18975 ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/, variable7 /*pexprnode2*/) /*Array::add*/;
18976 }
18977 variable9 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode3*/); /*new ABlockExpr*/
18978 variable8 = variable9;
18979 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
18980 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(25)) /*Parser::go_to*/;
18981 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
18982 tracehead = trace.prev;
18983 return;
18984 }
18985 void parser___ReduceAction229___init(val_t self, int* init_table) {
18986 struct trace_t trace = {NULL, "parser::ReduceAction229::init (src/parser//parser.nit:10060,1--4)"};
18987 trace.prev = tracehead; tracehead = &trace;
18988 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction229].i]) return;
18989 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction229].i] = 1;
18990 tracehead = trace.prev;
18991 return;
18992 }
18993 void parser___ReduceAction230___action(val_t self, val_t param0) {
18994 struct trace_t trace = {NULL, "parser::ReduceAction230::action (src/parser//parser.nit:10064,2--10091:34)"};
18995 val_t variable0;
18996 val_t variable1;
18997 val_t variable2;
18998 val_t variable3;
18999 val_t variable4;
19000 val_t variable5;
19001 val_t variable6;
19002 val_t variable7;
19003 val_t variable8;
19004 val_t variable9;
19005 val_t variable10;
19006 val_t variable11;
19007 trace.prev = tracehead; tracehead = &trace;
19008 variable0 = param0;
19009 variable1 = NIT_NULL /*null*/;
19010 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19011 variable2 = variable3;
19012 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19013 variable3 = variable4;
19014 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19015 variable4 = variable5;
19016 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19017 variable5 = variable6;
19018 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19019 variable6 = variable7;
19020 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
19021 variable7 = variable8;
19022 variable8 = variable5 /*nodearraylist2*/;
19023 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19024 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10074,6--32\n"); nit_exit(1);}
19025 variable9 = variable4 /*nodearraylist3*/;
19026 variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19027 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10076,6--38\n"); nit_exit(1);}
19028 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
19029 if (UNTAG_Bool(variable10)) { /*if*/
19030 ((array___AbstractArray___add_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode4*/, variable8 /*pexprnode2*/) /*Array::add*/;
19031 }
19032 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
19033 if (UNTAG_Bool(variable10)) { /*if*/
19034 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
19035 if (UNTAG_Bool(variable10)) { /*if*/
19036 variable7 = variable9 /*listnode3*/ /*listnode4=*/;
19037 } else { /*if*/
19038 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/;
19039 }
19040 }
19041 variable11 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable7 /*listnode4*/); /*new ABlockExpr*/
19042 variable10 = variable11;
19043 variable1 = variable10 /*pexprnode1*/ /*node_list=*/;
19044 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(25)) /*Parser::go_to*/;
19045 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
19046 tracehead = trace.prev;
19047 return;
19048 }
19049 void parser___ReduceAction230___init(val_t self, int* init_table) {
19050 struct trace_t trace = {NULL, "parser::ReduceAction230::init (src/parser//parser.nit:10093,1--4)"};
19051 trace.prev = tracehead; tracehead = &trace;
19052 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction230].i]) return;
19053 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction230].i] = 1;
19054 tracehead = trace.prev;
19055 return;
19056 }
19057 void parser___ReduceAction231___action(val_t self, val_t param0) {
19058 struct trace_t trace = {NULL, "parser::ReduceAction231::action (src/parser//parser.nit:10097,2--10103:34)"};
19059 val_t variable0;
19060 val_t variable1;
19061 val_t variable2;
19062 val_t variable3;
19063 val_t variable4;
19064 trace.prev = tracehead; tracehead = &trace;
19065 variable0 = param0;
19066 variable1 = NIT_NULL /*null*/;
19067 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19068 variable2 = variable3;
19069 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19070 variable3 = variable4;
19071 variable1 = NIT_NULL /*null*/ /*node_list=*/;
19072 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(25)) /*Parser::go_to*/;
19073 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
19074 tracehead = trace.prev;
19075 return;
19076 }
19077 void parser___ReduceAction231___init(val_t self, int* init_table) {
19078 struct trace_t trace = {NULL, "parser::ReduceAction231::init (src/parser//parser.nit:10105,1--4)"};
19079 trace.prev = tracehead; tracehead = &trace;
19080 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction231].i]) return;
19081 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction231].i] = 1;
19082 tracehead = trace.prev;
19083 return;
19084 }
19085 void parser___ReduceAction232___action(val_t self, val_t param0) {
19086 struct trace_t trace = {NULL, "parser::ReduceAction232::action (src/parser//parser.nit:10109,2--10114:34)"};
19087 val_t variable0;
19088 val_t variable1;
19089 val_t variable2;
19090 val_t variable3;
19091 trace.prev = tracehead; tracehead = &trace;
19092 variable0 = param0;
19093 variable1 = NIT_NULL /*null*/;
19094 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19095 variable2 = variable3;
19096 variable1 = NIT_NULL /*null*/ /*node_list=*/;
19097 variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(25)) /*Parser::go_to*/;
19098 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/;
19099 tracehead = trace.prev;
19100 return;
19101 }
19102 void parser___ReduceAction232___init(val_t self, int* init_table) {
19103 struct trace_t trace = {NULL, "parser::ReduceAction232::init (src/parser//parser.nit:10116,1--4)"};
19104 trace.prev = tracehead; tracehead = &trace;
19105 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction232].i]) return;
19106 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction232].i] = 1;
19107 tracehead = trace.prev;
19108 return;
19109 }
19110 void parser___ReduceAction233___action(val_t self, val_t param0) {
19111 struct trace_t trace = {NULL, "parser::ReduceAction233::action (src/parser//parser.nit:10120,2--10128:34)"};
19112 val_t variable0;
19113 val_t variable1;
19114 val_t variable2;
19115 val_t variable3;
19116 val_t variable4;
19117 val_t variable5;
19118 trace.prev = tracehead; tracehead = &trace;
19119 variable0 = param0;
19120 variable1 = NIT_NULL /*null*/;
19121 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19122 variable2 = variable3;
19123 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19124 variable3 = variable4;
19125 variable4 = variable2 /*nodearraylist2*/;
19126 variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19127 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10126,6--32\n"); nit_exit(1);}
19128 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
19129 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(26)) /*Parser::go_to*/;
19130 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
19131 tracehead = trace.prev;
19132 return;
19133 }
19134 void parser___ReduceAction233___init(val_t self, int* init_table) {
19135 struct trace_t trace = {NULL, "parser::ReduceAction233::init (src/parser//parser.nit:10130,1--4)"};
19136 trace.prev = tracehead; tracehead = &trace;
19137 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction233].i]) return;
19138 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction233].i] = 1;
19139 tracehead = trace.prev;
19140 return;
19141 }
19142 void parser___ReduceAction234___action(val_t self, val_t param0) {
19143 struct trace_t trace = {NULL, "parser::ReduceAction234::action (src/parser//parser.nit:10134,2--10141:34)"};
19144 val_t variable0;
19145 val_t variable1;
19146 val_t variable2;
19147 val_t variable3;
19148 val_t variable4;
19149 trace.prev = tracehead; tracehead = &trace;
19150 variable0 = param0;
19151 variable1 = NIT_NULL /*null*/;
19152 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19153 variable2 = variable3;
19154 variable3 = variable2 /*nodearraylist1*/;
19155 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19156 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10139,6--32\n"); nit_exit(1);}
19157 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
19158 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19159 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
19160 tracehead = trace.prev;
19161 return;
19162 }
19163 void parser___ReduceAction234___init(val_t self, int* init_table) {
19164 struct trace_t trace = {NULL, "parser::ReduceAction234::init (src/parser//parser.nit:10143,1--4)"};
19165 trace.prev = tracehead; tracehead = &trace;
19166 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction234].i]) return;
19167 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction234].i] = 1;
19168 tracehead = trace.prev;
19169 return;
19170 }
19171 void parser___ReduceAction235___action(val_t self, val_t param0) {
19172 struct trace_t trace = {NULL, "parser::ReduceAction235::action (src/parser//parser.nit:10147,2--10154:34)"};
19173 val_t variable0;
19174 val_t variable1;
19175 val_t variable2;
19176 val_t variable3;
19177 val_t variable4;
19178 trace.prev = tracehead; tracehead = &trace;
19179 variable0 = param0;
19180 variable1 = NIT_NULL /*null*/;
19181 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19182 variable2 = variable3;
19183 variable3 = variable2 /*nodearraylist1*/;
19184 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19185 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10152,6--32\n"); nit_exit(1);}
19186 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
19187 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19188 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
19189 tracehead = trace.prev;
19190 return;
19191 }
19192 void parser___ReduceAction235___init(val_t self, int* init_table) {
19193 struct trace_t trace = {NULL, "parser::ReduceAction235::init (src/parser//parser.nit:10156,1--4)"};
19194 trace.prev = tracehead; tracehead = &trace;
19195 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction235].i]) return;
19196 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction235].i] = 1;
19197 tracehead = trace.prev;
19198 return;
19199 }
19200 void parser___ReduceAction236___action(val_t self, val_t param0) {
19201 struct trace_t trace = {NULL, "parser::ReduceAction236::action (src/parser//parser.nit:10160,2--10171:34)"};
19202 val_t variable0;
19203 val_t variable1;
19204 val_t variable2;
19205 val_t variable3;
19206 val_t variable4;
19207 val_t variable5;
19208 trace.prev = tracehead; tracehead = &trace;
19209 variable0 = param0;
19210 variable1 = NIT_NULL /*null*/;
19211 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19212 variable2 = variable3;
19213 variable3 = variable2 /*nodearraylist1*/;
19214 variable4 = TAG_Bool(( variable3 /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
19215 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10165,6--40\n"); nit_exit(1);}
19216 variable5 = NEW_parser_prod___AReturnExpr___init_areturnexpr( variable3 /*tkwreturnnode2*/, NIT_NULL /*null*/); /*new AReturnExpr*/
19217 variable4 = variable5;
19218 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
19219 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19220 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
19221 tracehead = trace.prev;
19222 return;
19223 }
19224 void parser___ReduceAction236___init(val_t self, int* init_table) {
19225 struct trace_t trace = {NULL, "parser::ReduceAction236::init (src/parser//parser.nit:10173,1--4)"};
19226 trace.prev = tracehead; tracehead = &trace;
19227 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction236].i]) return;
19228 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction236].i] = 1;
19229 tracehead = trace.prev;
19230 return;
19231 }
19232 void parser___ReduceAction237___action(val_t self, val_t param0) {
19233 struct trace_t trace = {NULL, "parser::ReduceAction237::action (src/parser//parser.nit:10177,2--10191:34)"};
19234 val_t variable0;
19235 val_t variable1;
19236 val_t variable2;
19237 val_t variable3;
19238 val_t variable4;
19239 val_t variable5;
19240 val_t variable6;
19241 val_t variable7;
19242 trace.prev = tracehead; tracehead = &trace;
19243 variable0 = param0;
19244 variable1 = NIT_NULL /*null*/;
19245 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19246 variable2 = variable3;
19247 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19248 variable3 = variable4;
19249 variable4 = variable3 /*nodearraylist1*/;
19250 variable5 = TAG_Bool(( variable4 /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
19251 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10183,6--40\n"); nit_exit(1);}
19252 variable5 = variable2 /*nodearraylist2*/;
19253 variable6 = TAG_Bool(( variable5 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19254 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10185,6--32\n"); nit_exit(1);}
19255 variable7 = NEW_parser_prod___AReturnExpr___init_areturnexpr( variable4 /*tkwreturnnode2*/, variable5 /*pexprnode3*/); /*new AReturnExpr*/
19256 variable6 = variable7;
19257 variable1 = variable6 /*pexprnode1*/ /*node_list=*/;
19258 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19259 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
19260 tracehead = trace.prev;
19261 return;
19262 }
19263 void parser___ReduceAction237___init(val_t self, int* init_table) {
19264 struct trace_t trace = {NULL, "parser::ReduceAction237::init (src/parser//parser.nit:10193,1--4)"};
19265 trace.prev = tracehead; tracehead = &trace;
19266 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction237].i]) return;
19267 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction237].i] = 1;
19268 tracehead = trace.prev;
19269 return;
19270 }
19271 void parser___ReduceAction238___action(val_t self, val_t param0) {
19272 struct trace_t trace = {NULL, "parser::ReduceAction238::action (src/parser//parser.nit:10197,2--10207:34)"};
19273 val_t variable0;
19274 val_t variable1;
19275 val_t variable2;
19276 val_t variable3;
19277 val_t variable4;
19278 val_t variable5;
19279 trace.prev = tracehead; tracehead = &trace;
19280 variable0 = param0;
19281 variable1 = NIT_NULL /*null*/;
19282 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19283 variable2 = variable3;
19284 variable3 = variable2 /*nodearraylist1*/;
19285 variable4 = TAG_Bool(( variable3 /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
19286 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10202,6--38\n"); nit_exit(1);}
19287 variable5 = NEW_parser_prod___ABreakExpr___init_abreakexpr( variable3 /*tkwbreaknode2*/); /*new ABreakExpr*/
19288 variable4 = variable5;
19289 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
19290 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19291 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
19292 tracehead = trace.prev;
19293 return;
19294 }
19295 void parser___ReduceAction238___init(val_t self, int* init_table) {
19296 struct trace_t trace = {NULL, "parser::ReduceAction238::init (src/parser//parser.nit:10209,1--4)"};
19297 trace.prev = tracehead; tracehead = &trace;
19298 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction238].i]) return;
19299 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction238].i] = 1;
19300 tracehead = trace.prev;
19301 return;
19302 }
19303 void parser___ReduceAction239___action(val_t self, val_t param0) {
19304 struct trace_t trace = {NULL, "parser::ReduceAction239::action (src/parser//parser.nit:10213,2--10223:34)"};
19305 val_t variable0;
19306 val_t variable1;
19307 val_t variable2;
19308 val_t variable3;
19309 val_t variable4;
19310 val_t variable5;
19311 trace.prev = tracehead; tracehead = &trace;
19312 variable0 = param0;
19313 variable1 = NIT_NULL /*null*/;
19314 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19315 variable2 = variable3;
19316 variable3 = variable2 /*nodearraylist1*/;
19317 variable4 = TAG_Bool(( variable3 /*tkwabortnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwabortnode2*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
19318 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10218,6--38\n"); nit_exit(1);}
19319 variable5 = NEW_parser_prod___AAbortExpr___init_aabortexpr( variable3 /*tkwabortnode2*/); /*new AAbortExpr*/
19320 variable4 = variable5;
19321 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
19322 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19323 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
19324 tracehead = trace.prev;
19325 return;
19326 }
19327 void parser___ReduceAction239___init(val_t self, int* init_table) {
19328 struct trace_t trace = {NULL, "parser::ReduceAction239::init (src/parser//parser.nit:10225,1--4)"};
19329 trace.prev = tracehead; tracehead = &trace;
19330 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction239].i]) return;
19331 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction239].i] = 1;
19332 tracehead = trace.prev;
19333 return;
19334 }
19335 void parser___ReduceAction240___action(val_t self, val_t param0) {
19336 struct trace_t trace = {NULL, "parser::ReduceAction240::action (src/parser//parser.nit:10229,2--10239:34)"};
19337 val_t variable0;
19338 val_t variable1;
19339 val_t variable2;
19340 val_t variable3;
19341 val_t variable4;
19342 val_t variable5;
19343 trace.prev = tracehead; tracehead = &trace;
19344 variable0 = param0;
19345 variable1 = NIT_NULL /*null*/;
19346 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19347 variable2 = variable3;
19348 variable3 = variable2 /*nodearraylist1*/;
19349 variable4 = TAG_Bool(( variable3 /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
19350 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10234,6--44\n"); nit_exit(1);}
19351 variable5 = NEW_parser_prod___AContinueExpr___init_acontinueexpr( variable3 /*tkwcontinuenode2*/); /*new AContinueExpr*/
19352 variable4 = variable5;
19353 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
19354 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19355 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
19356 tracehead = trace.prev;
19357 return;
19358 }
19359 void parser___ReduceAction240___init(val_t self, int* init_table) {
19360 struct trace_t trace = {NULL, "parser::ReduceAction240::init (src/parser//parser.nit:10241,1--4)"};
19361 trace.prev = tracehead; tracehead = &trace;
19362 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction240].i]) return;
19363 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction240].i] = 1;
19364 tracehead = trace.prev;
19365 return;
19366 }
19367 void parser___ReduceAction241___action(val_t self, val_t param0) {
19368 struct trace_t trace = {NULL, "parser::ReduceAction241::action (src/parser//parser.nit:10245,2--10252:34)"};
19369 val_t variable0;
19370 val_t variable1;
19371 val_t variable2;
19372 val_t variable3;
19373 val_t variable4;
19374 trace.prev = tracehead; tracehead = &trace;
19375 variable0 = param0;
19376 variable1 = NIT_NULL /*null*/;
19377 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19378 variable2 = variable3;
19379 variable3 = variable2 /*nodearraylist1*/;
19380 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19381 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10250,6--32\n"); nit_exit(1);}
19382 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
19383 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19384 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
19385 tracehead = trace.prev;
19386 return;
19387 }
19388 void parser___ReduceAction241___init(val_t self, int* init_table) {
19389 struct trace_t trace = {NULL, "parser::ReduceAction241::init (src/parser//parser.nit:10254,1--4)"};
19390 trace.prev = tracehead; tracehead = &trace;
19391 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction241].i]) return;
19392 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction241].i] = 1;
19393 tracehead = trace.prev;
19394 return;
19395 }
19396 void parser___ReduceAction242___action(val_t self, val_t param0) {
19397 struct trace_t trace = {NULL, "parser::ReduceAction242::action (src/parser//parser.nit:10258,2--10265:34)"};
19398 val_t variable0;
19399 val_t variable1;
19400 val_t variable2;
19401 val_t variable3;
19402 val_t variable4;
19403 trace.prev = tracehead; tracehead = &trace;
19404 variable0 = param0;
19405 variable1 = NIT_NULL /*null*/;
19406 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19407 variable2 = variable3;
19408 variable3 = variable2 /*nodearraylist1*/;
19409 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19410 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10263,6--32\n"); nit_exit(1);}
19411 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
19412 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19413 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
19414 tracehead = trace.prev;
19415 return;
19416 }
19417 void parser___ReduceAction242___init(val_t self, int* init_table) {
19418 struct trace_t trace = {NULL, "parser::ReduceAction242::init (src/parser//parser.nit:10267,1--4)"};
19419 trace.prev = tracehead; tracehead = &trace;
19420 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction242].i]) return;
19421 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction242].i] = 1;
19422 tracehead = trace.prev;
19423 return;
19424 }
19425 void parser___ReduceAction243___action(val_t self, val_t param0) {
19426 struct trace_t trace = {NULL, "parser::ReduceAction243::action (src/parser//parser.nit:10271,2--10278:34)"};
19427 val_t variable0;
19428 val_t variable1;
19429 val_t variable2;
19430 val_t variable3;
19431 val_t variable4;
19432 trace.prev = tracehead; tracehead = &trace;
19433 variable0 = param0;
19434 variable1 = NIT_NULL /*null*/;
19435 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19436 variable2 = variable3;
19437 variable3 = variable2 /*nodearraylist1*/;
19438 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19439 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10276,6--32\n"); nit_exit(1);}
19440 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
19441 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19442 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
19443 tracehead = trace.prev;
19444 return;
19445 }
19446 void parser___ReduceAction243___init(val_t self, int* init_table) {
19447 struct trace_t trace = {NULL, "parser::ReduceAction243::init (src/parser//parser.nit:10280,1--4)"};
19448 trace.prev = tracehead; tracehead = &trace;
19449 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction243].i]) return;
19450 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction243].i] = 1;
19451 tracehead = trace.prev;
19452 return;
19453 }
19454 void parser___ReduceAction244___action(val_t self, val_t param0) {
19455 struct trace_t trace = {NULL, "parser::ReduceAction244::action (src/parser//parser.nit:10284,2--10291:34)"};
19456 val_t variable0;
19457 val_t variable1;
19458 val_t variable2;
19459 val_t variable3;
19460 val_t variable4;
19461 trace.prev = tracehead; tracehead = &trace;
19462 variable0 = param0;
19463 variable1 = NIT_NULL /*null*/;
19464 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19465 variable2 = variable3;
19466 variable3 = variable2 /*nodearraylist1*/;
19467 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19468 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10289,6--32\n"); nit_exit(1);}
19469 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
19470 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19471 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
19472 tracehead = trace.prev;
19473 return;
19474 }
19475 void parser___ReduceAction244___init(val_t self, int* init_table) {
19476 struct trace_t trace = {NULL, "parser::ReduceAction244::init (src/parser//parser.nit:10293,1--4)"};
19477 trace.prev = tracehead; tracehead = &trace;
19478 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction244].i]) return;
19479 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction244].i] = 1;
19480 tracehead = trace.prev;
19481 return;
19482 }
19483 void parser___ReduceAction245___action(val_t self, val_t param0) {
19484 struct trace_t trace = {NULL, "parser::ReduceAction245::action (src/parser//parser.nit:10297,2--10304:34)"};
19485 val_t variable0;
19486 val_t variable1;
19487 val_t variable2;
19488 val_t variable3;
19489 val_t variable4;
19490 trace.prev = tracehead; tracehead = &trace;
19491 variable0 = param0;
19492 variable1 = NIT_NULL /*null*/;
19493 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19494 variable2 = variable3;
19495 variable3 = variable2 /*nodearraylist1*/;
19496 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19497 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10302,6--32\n"); nit_exit(1);}
19498 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
19499 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19500 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
19501 tracehead = trace.prev;
19502 return;
19503 }
19504 void parser___ReduceAction245___init(val_t self, int* init_table) {
19505 struct trace_t trace = {NULL, "parser::ReduceAction245::init (src/parser//parser.nit:10306,1--4)"};
19506 trace.prev = tracehead; tracehead = &trace;
19507 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction245].i]) return;
19508 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction245].i] = 1;
19509 tracehead = trace.prev;
19510 return;
19511 }
19512 void parser___ReduceAction246___action(val_t self, val_t param0) {
19513 struct trace_t trace = {NULL, "parser::ReduceAction246::action (src/parser//parser.nit:10310,2--10338:34)"};
19514 val_t variable0;
19515 val_t variable1;
19516 val_t variable2;
19517 val_t variable3;
19518 val_t variable4;
19519 val_t variable5;
19520 val_t variable6;
19521 val_t variable7;
19522 val_t variable8;
19523 val_t variable9;
19524 val_t variable10;
19525 val_t variable11;
19526 val_t variable12;
19527 trace.prev = tracehead; tracehead = &trace;
19528 variable0 = param0;
19529 variable1 = NIT_NULL /*null*/;
19530 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19531 variable2 = variable3;
19532 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19533 variable3 = variable4;
19534 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19535 variable4 = variable5;
19536 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19537 variable5 = variable6;
19538 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19539 variable6 = variable7;
19540 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
19541 variable7 = variable8;
19542 variable8 = variable6 /*nodearraylist1*/;
19543 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19544 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10320,6--32\n"); nit_exit(1);}
19545 variable9 = variable3 /*nodearraylist4*/;
19546 variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
19547 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10322,6--28\n"); nit_exit(1);}
19548 variable10 = variable2 /*nodearraylist5*/;
19549 variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19550 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10324,6--38\n"); nit_exit(1);}
19551 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
19552 if (UNTAG_Bool(variable11)) { /*if*/
19553 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
19554 if (UNTAG_Bool(variable11)) { /*if*/
19555 variable7 = variable10 /*listnode4*/ /*listnode5=*/;
19556 } else { /*if*/
19557 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/;
19558 }
19559 }
19560 variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/, variable9 /*tidnode3*/, variable7 /*listnode5*/); /*new ACallExpr*/
19561 variable11 = variable12;
19562 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
19563 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19564 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
19565 tracehead = trace.prev;
19566 return;
19567 }
19568 void parser___ReduceAction246___init(val_t self, int* init_table) {
19569 struct trace_t trace = {NULL, "parser::ReduceAction246::init (src/parser//parser.nit:10340,1--4)"};
19570 trace.prev = tracehead; tracehead = &trace;
19571 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction246].i]) return;
19572 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction246].i] = 1;
19573 tracehead = trace.prev;
19574 return;
19575 }
19576 void parser___ReduceAction247___action(val_t self, val_t param0) {
19577 struct trace_t trace = {NULL, "parser::ReduceAction247::action (src/parser//parser.nit:10344,2--10369:34)"};
19578 val_t variable0;
19579 val_t variable1;
19580 val_t variable2;
19581 val_t variable3;
19582 val_t variable4;
19583 val_t variable5;
19584 val_t variable6;
19585 val_t variable7;
19586 val_t variable8;
19587 val_t variable9;
19588 trace.prev = tracehead; tracehead = &trace;
19589 variable0 = param0;
19590 variable1 = NIT_NULL /*null*/;
19591 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19592 variable2 = variable3;
19593 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19594 variable3 = variable4;
19595 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
19596 variable4 = variable5;
19597 variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
19598 variable5 = variable6;
19599 variable6 = variable3 /*nodearraylist1*/;
19600 variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
19601 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10353,6--28\n"); nit_exit(1);}
19602 variable7 = variable2 /*nodearraylist2*/;
19603 variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19604 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10355,6--38\n"); nit_exit(1);}
19605 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
19606 if (UNTAG_Bool(variable8)) { /*if*/
19607 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
19608 if (UNTAG_Bool(variable8)) { /*if*/
19609 variable4 = variable7 /*listnode4*/ /*listnode5=*/;
19610 } else { /*if*/
19611 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/;
19612 }
19613 }
19614 variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/, variable6 /*tidnode3*/, variable4 /*listnode5*/); /*new ACallExpr*/
19615 variable8 = variable9;
19616 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
19617 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19618 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
19619 tracehead = trace.prev;
19620 return;
19621 }
19622 void parser___ReduceAction247___init(val_t self, int* init_table) {
19623 struct trace_t trace = {NULL, "parser::ReduceAction247::init (src/parser//parser.nit:10371,1--4)"};
19624 trace.prev = tracehead; tracehead = &trace;
19625 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction247].i]) return;
19626 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction247].i] = 1;
19627 tracehead = trace.prev;
19628 return;
19629 }
19630 void parser___ReduceAction248___action(val_t self, val_t param0) {
19631 struct trace_t trace = {NULL, "parser::ReduceAction248::action (src/parser//parser.nit:10375,2--10398:34)"};
19632 val_t variable0;
19633 val_t variable1;
19634 val_t variable2;
19635 val_t variable3;
19636 val_t variable4;
19637 val_t variable5;
19638 val_t variable6;
19639 val_t variable7;
19640 val_t variable8;
19641 trace.prev = tracehead; tracehead = &trace;
19642 variable0 = param0;
19643 variable1 = NIT_NULL /*null*/;
19644 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19645 variable2 = variable3;
19646 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19647 variable3 = variable4;
19648 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
19649 variable4 = variable5;
19650 variable5 = variable3 /*nodearraylist1*/;
19651 variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
19652 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10382,6--38\n"); nit_exit(1);}
19653 variable6 = variable2 /*nodearraylist2*/;
19654 variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19655 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10384,6--38\n"); nit_exit(1);}
19656 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
19657 if (UNTAG_Bool(variable7)) { /*if*/
19658 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
19659 if (UNTAG_Bool(variable7)) { /*if*/
19660 variable4 = variable6 /*listnode4*/ /*listnode5=*/;
19661 } else { /*if*/
19662 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable6 /*listnode4*/) /*Array::append*/;
19663 }
19664 }
19665 variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable5 /*tkwsupernode3*/, variable4 /*listnode5*/); /*new ASuperExpr*/
19666 variable7 = variable8;
19667 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
19668 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19669 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
19670 tracehead = trace.prev;
19671 return;
19672 }
19673 void parser___ReduceAction248___init(val_t self, int* init_table) {
19674 struct trace_t trace = {NULL, "parser::ReduceAction248::init (src/parser//parser.nit:10400,1--4)"};
19675 trace.prev = tracehead; tracehead = &trace;
19676 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction248].i]) return;
19677 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction248].i] = 1;
19678 tracehead = trace.prev;
19679 return;
19680 }
19681 void parser___ReduceAction249___action(val_t self, val_t param0) {
19682 struct trace_t trace = {NULL, "parser::ReduceAction249::action (src/parser//parser.nit:10404,2--10430:34)"};
19683 val_t variable0;
19684 val_t variable1;
19685 val_t variable2;
19686 val_t variable3;
19687 val_t variable4;
19688 val_t variable5;
19689 val_t variable6;
19690 val_t variable7;
19691 val_t variable8;
19692 val_t variable9;
19693 val_t variable10;
19694 trace.prev = tracehead; tracehead = &trace;
19695 variable0 = param0;
19696 variable1 = NIT_NULL /*null*/;
19697 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19698 variable2 = variable3;
19699 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19700 variable3 = variable4;
19701 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19702 variable4 = variable5;
19703 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
19704 variable5 = variable6;
19705 variable6 = variable4 /*nodearraylist1*/;
19706 variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
19707 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10412,6--42\n"); nit_exit(1);}
19708 variable7 = variable3 /*nodearraylist2*/;
19709 variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
19710 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10414,6--38\n"); nit_exit(1);}
19711 variable8 = variable2 /*nodearraylist3*/;
19712 variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19713 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10416,6--38\n"); nit_exit(1);}
19714 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
19715 if (UNTAG_Bool(variable9)) { /*if*/
19716 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
19717 if (UNTAG_Bool(variable9)) { /*if*/
19718 variable5 = variable8 /*listnode4*/ /*listnode5=*/;
19719 } else { /*if*/
19720 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/;
19721 }
19722 }
19723 variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/, variable7 /*tkwsupernode3*/, variable5 /*listnode5*/); /*new ASuperExpr*/
19724 variable9 = variable10;
19725 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
19726 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19727 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
19728 tracehead = trace.prev;
19729 return;
19730 }
19731 void parser___ReduceAction249___init(val_t self, int* init_table) {
19732 struct trace_t trace = {NULL, "parser::ReduceAction249::init (src/parser//parser.nit:10432,1--4)"};
19733 trace.prev = tracehead; tracehead = &trace;
19734 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction249].i]) return;
19735 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction249].i] = 1;
19736 tracehead = trace.prev;
19737 return;
19738 }
19739 void parser___ReduceAction250___action(val_t self, val_t param0) {
19740 struct trace_t trace = {NULL, "parser::ReduceAction250::action (src/parser//parser.nit:10436,2--10464:34)"};
19741 val_t variable0;
19742 val_t variable1;
19743 val_t variable2;
19744 val_t variable3;
19745 val_t variable4;
19746 val_t variable5;
19747 val_t variable6;
19748 val_t variable7;
19749 val_t variable8;
19750 val_t variable9;
19751 val_t variable10;
19752 val_t variable11;
19753 val_t variable12;
19754 trace.prev = tracehead; tracehead = &trace;
19755 variable0 = param0;
19756 variable1 = NIT_NULL /*null*/;
19757 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19758 variable2 = variable3;
19759 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19760 variable3 = variable4;
19761 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19762 variable4 = variable5;
19763 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19764 variable5 = variable6;
19765 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19766 variable6 = variable7;
19767 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
19768 variable7 = variable8;
19769 variable8 = variable6 /*nodearraylist1*/;
19770 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19771 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10446,6--32\n"); nit_exit(1);}
19772 variable9 = variable3 /*nodearraylist4*/;
19773 variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
19774 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10448,6--36\n"); nit_exit(1);}
19775 variable10 = variable2 /*nodearraylist5*/;
19776 variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19777 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10450,6--38\n"); nit_exit(1);}
19778 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
19779 if (UNTAG_Bool(variable11)) { /*if*/
19780 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
19781 if (UNTAG_Bool(variable11)) { /*if*/
19782 variable7 = variable10 /*listnode4*/ /*listnode5=*/;
19783 } else { /*if*/
19784 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/;
19785 }
19786 }
19787 variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/, variable9 /*tkwinitnode3*/, variable7 /*listnode5*/); /*new AInitExpr*/
19788 variable11 = variable12;
19789 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
19790 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19791 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
19792 tracehead = trace.prev;
19793 return;
19794 }
19795 void parser___ReduceAction250___init(val_t self, int* init_table) {
19796 struct trace_t trace = {NULL, "parser::ReduceAction250::init (src/parser//parser.nit:10466,1--4)"};
19797 trace.prev = tracehead; tracehead = &trace;
19798 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction250].i]) return;
19799 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction250].i] = 1;
19800 tracehead = trace.prev;
19801 return;
19802 }
19803 void parser___ReduceAction251___action(val_t self, val_t param0) {
19804 struct trace_t trace = {NULL, "parser::ReduceAction251::action (src/parser//parser.nit:10470,2--10495:34)"};
19805 val_t variable0;
19806 val_t variable1;
19807 val_t variable2;
19808 val_t variable3;
19809 val_t variable4;
19810 val_t variable5;
19811 val_t variable6;
19812 val_t variable7;
19813 val_t variable8;
19814 val_t variable9;
19815 trace.prev = tracehead; tracehead = &trace;
19816 variable0 = param0;
19817 variable1 = NIT_NULL /*null*/;
19818 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19819 variable2 = variable3;
19820 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19821 variable3 = variable4;
19822 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
19823 variable4 = variable5;
19824 variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
19825 variable5 = variable6;
19826 variable6 = variable3 /*nodearraylist1*/;
19827 variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
19828 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10479,6--36\n"); nit_exit(1);}
19829 variable7 = variable2 /*nodearraylist2*/;
19830 variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
19831 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10481,6--38\n"); nit_exit(1);}
19832 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
19833 if (UNTAG_Bool(variable8)) { /*if*/
19834 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
19835 if (UNTAG_Bool(variable8)) { /*if*/
19836 variable4 = variable7 /*listnode4*/ /*listnode5=*/;
19837 } else { /*if*/
19838 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/;
19839 }
19840 }
19841 variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/, variable6 /*tkwinitnode3*/, variable4 /*listnode5*/); /*new AInitExpr*/
19842 variable8 = variable9;
19843 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
19844 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/;
19845 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
19846 tracehead = trace.prev;
19847 return;
19848 }
19849 void parser___ReduceAction251___init(val_t self, int* init_table) {
19850 struct trace_t trace = {NULL, "parser::ReduceAction251::init (src/parser//parser.nit:10497,1--4)"};
19851 trace.prev = tracehead; tracehead = &trace;
19852 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction251].i]) return;
19853 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction251].i] = 1;
19854 tracehead = trace.prev;
19855 return;
19856 }
19857 void parser___ReduceAction252___action(val_t self, val_t param0) {
19858 struct trace_t trace = {NULL, "parser::ReduceAction252::action (src/parser//parser.nit:10501,2--10518:34)"};
19859 val_t variable0;
19860 val_t variable1;
19861 val_t variable2;
19862 val_t variable3;
19863 val_t variable4;
19864 val_t variable5;
19865 val_t variable6;
19866 val_t variable7;
19867 trace.prev = tracehead; tracehead = &trace;
19868 variable0 = param0;
19869 variable1 = NIT_NULL /*null*/;
19870 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19871 variable2 = variable3;
19872 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19873 variable3 = variable4;
19874 variable4 = variable3 /*nodearraylist1*/;
19875 variable5 = TAG_Bool(( variable4 /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
19876 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10507,6--34\n"); nit_exit(1);}
19877 variable5 = variable2 /*nodearraylist2*/;
19878 variable6 = TAG_Bool(( variable5 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable5 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
19879 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10509,6--28\n"); nit_exit(1);}
19880 variable7 = NEW_parser_prod___AVardeclExpr___init_avardeclexpr( variable4 /*tkwvarnode2*/, variable5 /*tidnode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AVardeclExpr*/
19881 variable6 = variable7;
19882 variable1 = variable6 /*pexprnode1*/ /*node_list=*/;
19883 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(28)) /*Parser::go_to*/;
19884 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
19885 tracehead = trace.prev;
19886 return;
19887 }
19888 void parser___ReduceAction252___init(val_t self, int* init_table) {
19889 struct trace_t trace = {NULL, "parser::ReduceAction252::init (src/parser//parser.nit:10520,1--4)"};
19890 trace.prev = tracehead; tracehead = &trace;
19891 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction252].i]) return;
19892 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction252].i] = 1;
19893 tracehead = trace.prev;
19894 return;
19895 }
19896 void parser___ReduceAction253___action(val_t self, val_t param0) {
19897 struct trace_t trace = {NULL, "parser::ReduceAction253::action (src/parser//parser.nit:10524,2--10544:34)"};
19898 val_t variable0;
19899 val_t variable1;
19900 val_t variable2;
19901 val_t variable3;
19902 val_t variable4;
19903 val_t variable5;
19904 val_t variable6;
19905 val_t variable7;
19906 val_t variable8;
19907 val_t variable9;
19908 trace.prev = tracehead; tracehead = &trace;
19909 variable0 = param0;
19910 variable1 = NIT_NULL /*null*/;
19911 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19912 variable2 = variable3;
19913 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19914 variable3 = variable4;
19915 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19916 variable4 = variable5;
19917 variable5 = variable4 /*nodearraylist1*/;
19918 variable6 = TAG_Bool(( variable5 /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
19919 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10531,6--34\n"); nit_exit(1);}
19920 variable6 = variable3 /*nodearraylist2*/;
19921 variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
19922 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10533,6--28\n"); nit_exit(1);}
19923 variable7 = variable2 /*nodearraylist3*/;
19924 variable8 = TAG_Bool(( variable7 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
19925 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10535,6--32\n"); nit_exit(1);}
19926 variable9 = NEW_parser_prod___AVardeclExpr___init_avardeclexpr( variable5 /*tkwvarnode2*/, variable6 /*tidnode3*/, variable7 /*ptypenode4*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AVardeclExpr*/
19927 variable8 = variable9;
19928 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
19929 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(28)) /*Parser::go_to*/;
19930 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
19931 tracehead = trace.prev;
19932 return;
19933 }
19934 void parser___ReduceAction253___init(val_t self, int* init_table) {
19935 struct trace_t trace = {NULL, "parser::ReduceAction253::init (src/parser//parser.nit:10546,1--4)"};
19936 trace.prev = tracehead; tracehead = &trace;
19937 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction253].i]) return;
19938 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction253].i] = 1;
19939 tracehead = trace.prev;
19940 return;
19941 }
19942 void parser___ReduceAction254___action(val_t self, val_t param0) {
19943 struct trace_t trace = {NULL, "parser::ReduceAction254::action (src/parser//parser.nit:10550,2--10574:34)"};
19944 val_t variable0;
19945 val_t variable1;
19946 val_t variable2;
19947 val_t variable3;
19948 val_t variable4;
19949 val_t variable5;
19950 val_t variable6;
19951 val_t variable7;
19952 val_t variable8;
19953 val_t variable9;
19954 val_t variable10;
19955 val_t variable11;
19956 val_t variable12;
19957 trace.prev = tracehead; tracehead = &trace;
19958 variable0 = param0;
19959 variable1 = NIT_NULL /*null*/;
19960 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19961 variable2 = variable3;
19962 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19963 variable3 = variable4;
19964 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19965 variable4 = variable5;
19966 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19967 variable5 = variable6;
19968 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
19969 variable6 = variable7;
19970 variable7 = variable6 /*nodearraylist1*/;
19971 variable8 = TAG_Bool(( variable7 /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
19972 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10559,6--34\n"); nit_exit(1);}
19973 variable8 = variable5 /*nodearraylist2*/;
19974 variable9 = TAG_Bool(( variable8 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable8 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
19975 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10561,6--28\n"); nit_exit(1);}
19976 variable9 = variable4 /*nodearraylist3*/;
19977 variable10 = TAG_Bool(( variable9 /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable9 /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
19978 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10563,6--36\n"); nit_exit(1);}
19979 variable10 = variable2 /*nodearraylist5*/;
19980 variable11 = TAG_Bool(( variable10 /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19981 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10565,6--32\n"); nit_exit(1);}
19982 variable12 = NEW_parser_prod___AVardeclExpr___init_avardeclexpr( variable7 /*tkwvarnode2*/, variable8 /*tidnode3*/, NIT_NULL /*null*/, variable9 /*tassignnode5*/, variable10 /*pexprnode6*/); /*new AVardeclExpr*/
19983 variable11 = variable12;
19984 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
19985 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(28)) /*Parser::go_to*/;
19986 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
19987 tracehead = trace.prev;
19988 return;
19989 }
19990 void parser___ReduceAction254___init(val_t self, int* init_table) {
19991 struct trace_t trace = {NULL, "parser::ReduceAction254::init (src/parser//parser.nit:10576,1--4)"};
19992 trace.prev = tracehead; tracehead = &trace;
19993 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction254].i]) return;
19994 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction254].i] = 1;
19995 tracehead = trace.prev;
19996 return;
19997 }
19998 void parser___ReduceAction255___action(val_t self, val_t param0) {
19999 struct trace_t trace = {NULL, "parser::ReduceAction255::action (src/parser//parser.nit:10580,2--10607:34)"};
20000 val_t variable0;
20001 val_t variable1;
20002 val_t variable2;
20003 val_t variable3;
20004 val_t variable4;
20005 val_t variable5;
20006 val_t variable6;
20007 val_t variable7;
20008 val_t variable8;
20009 val_t variable9;
20010 val_t variable10;
20011 val_t variable11;
20012 val_t variable12;
20013 val_t variable13;
20014 val_t variable14;
20015 trace.prev = tracehead; tracehead = &trace;
20016 variable0 = param0;
20017 variable1 = NIT_NULL /*null*/;
20018 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20019 variable2 = variable3;
20020 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20021 variable3 = variable4;
20022 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20023 variable4 = variable5;
20024 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20025 variable5 = variable6;
20026 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20027 variable6 = variable7;
20028 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20029 variable7 = variable8;
20030 variable8 = variable7 /*nodearraylist1*/;
20031 variable9 = TAG_Bool(( variable8 /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
20032 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10590,6--34\n"); nit_exit(1);}
20033 variable9 = variable6 /*nodearraylist2*/;
20034 variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
20035 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10592,6--28\n"); nit_exit(1);}
20036 variable10 = variable5 /*nodearraylist3*/;
20037 variable11 = TAG_Bool(( variable10 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable10 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
20038 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10594,6--32\n"); nit_exit(1);}
20039 variable11 = variable4 /*nodearraylist4*/;
20040 variable12 = TAG_Bool(( variable11 /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
20041 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10596,6--36\n"); nit_exit(1);}
20042 variable12 = variable2 /*nodearraylist6*/;
20043 variable13 = TAG_Bool(( variable12 /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20044 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10598,6--32\n"); nit_exit(1);}
20045 variable14 = NEW_parser_prod___AVardeclExpr___init_avardeclexpr( variable8 /*tkwvarnode2*/, variable9 /*tidnode3*/, variable10 /*ptypenode4*/, variable11 /*tassignnode5*/, variable12 /*pexprnode6*/); /*new AVardeclExpr*/
20046 variable13 = variable14;
20047 variable1 = variable13 /*pexprnode1*/ /*node_list=*/;
20048 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(28)) /*Parser::go_to*/;
20049 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
20050 tracehead = trace.prev;
20051 return;
20052 }
20053 void parser___ReduceAction255___init(val_t self, int* init_table) {
20054 struct trace_t trace = {NULL, "parser::ReduceAction255::init (src/parser//parser.nit:10609,1--4)"};
20055 trace.prev = tracehead; tracehead = &trace;
20056 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction255].i]) return;
20057 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction255].i] = 1;
20058 tracehead = trace.prev;
20059 return;
20060 }
20061 void parser___ReduceAction256___action(val_t self, val_t param0) {
20062 struct trace_t trace = {NULL, "parser::ReduceAction256::action (src/parser//parser.nit:10613,2--10637:34)"};
20063 val_t variable0;
20064 val_t variable1;
20065 val_t variable2;
20066 val_t variable3;
20067 val_t variable4;
20068 val_t variable5;
20069 val_t variable6;
20070 val_t variable7;
20071 val_t variable8;
20072 val_t variable9;
20073 val_t variable10;
20074 val_t variable11;
20075 val_t variable12;
20076 val_t variable13;
20077 trace.prev = tracehead; tracehead = &trace;
20078 variable0 = param0;
20079 variable1 = NIT_NULL /*null*/;
20080 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20081 variable2 = variable3;
20082 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20083 variable3 = variable4;
20084 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20085 variable4 = variable5;
20086 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20087 variable5 = variable6;
20088 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20089 variable6 = variable7;
20090 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20091 variable7 = variable8;
20092 variable8 = variable7 /*nodearraylist1*/;
20093 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20094 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10623,6--32\n"); nit_exit(1);}
20095 variable9 = variable4 /*nodearraylist4*/;
20096 variable10 = TAG_Bool(( variable9 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20097 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10625,6--36\n"); nit_exit(1);}
20098 variable10 = variable3 /*nodearraylist5*/;
20099 variable11 = TAG_Bool(( variable10 /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
20100 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10627,6--36\n"); nit_exit(1);}
20101 variable11 = variable2 /*nodearraylist6*/;
20102 variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20103 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10629,6--32\n"); nit_exit(1);}
20104 variable13 = NEW_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable8 /*pexprnode2*/, variable9 /*tattridnode3*/, variable10 /*tassignnode4*/, variable11 /*pexprnode5*/); /*new AAttrAssignExpr*/
20105 variable12 = variable13;
20106 variable1 = variable12 /*pexprnode1*/ /*node_list=*/;
20107 variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/;
20108 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/;
20109 tracehead = trace.prev;
20110 return;
20111 }
20112 void parser___ReduceAction256___init(val_t self, int* init_table) {
20113 struct trace_t trace = {NULL, "parser::ReduceAction256::init (src/parser//parser.nit:10639,1--4)"};
20114 trace.prev = tracehead; tracehead = &trace;
20115 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction256].i]) return;
20116 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction256].i] = 1;
20117 tracehead = trace.prev;
20118 return;
20119 }
20120 void parser___ReduceAction257___action(val_t self, val_t param0) {
20121 struct trace_t trace = {NULL, "parser::ReduceAction257::action (src/parser//parser.nit:10643,2--10664:34)"};
20122 val_t variable0;
20123 val_t variable1;
20124 val_t variable2;
20125 val_t variable3;
20126 val_t variable4;
20127 val_t variable5;
20128 val_t variable6;
20129 val_t variable7;
20130 val_t variable8;
20131 val_t variable9;
20132 val_t variable10;
20133 trace.prev = tracehead; tracehead = &trace;
20134 variable0 = param0;
20135 variable1 = NIT_NULL /*null*/;
20136 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20137 variable2 = variable3;
20138 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20139 variable3 = variable4;
20140 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20141 variable4 = variable5;
20142 variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
20143 variable5 = variable6;
20144 variable6 = variable4 /*nodearraylist1*/;
20145 variable7 = TAG_Bool(( variable6 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20146 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10652,6--36\n"); nit_exit(1);}
20147 variable7 = variable3 /*nodearraylist2*/;
20148 variable8 = TAG_Bool(( variable7 /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable7 /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
20149 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10654,6--36\n"); nit_exit(1);}
20150 variable8 = variable2 /*nodearraylist3*/;
20151 variable9 = TAG_Bool(( variable8 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20152 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10656,6--32\n"); nit_exit(1);}
20153 variable10 = NEW_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable5 /*pexprnode2*/, variable6 /*tattridnode3*/, variable7 /*tassignnode4*/, variable8 /*pexprnode5*/); /*new AAttrAssignExpr*/
20154 variable9 = variable10;
20155 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
20156 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/;
20157 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
20158 tracehead = trace.prev;
20159 return;
20160 }
20161 void parser___ReduceAction257___init(val_t self, int* init_table) {
20162 struct trace_t trace = {NULL, "parser::ReduceAction257::init (src/parser//parser.nit:10666,1--4)"};
20163 trace.prev = tracehead; tracehead = &trace;
20164 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction257].i]) return;
20165 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction257].i] = 1;
20166 tracehead = trace.prev;
20167 return;
20168 }
20169 void parser___ReduceAction258___action(val_t self, val_t param0) {
20170 struct trace_t trace = {NULL, "parser::ReduceAction258::action (src/parser//parser.nit:10670,2--10706:34)"};
20171 val_t variable0;
20172 val_t variable1;
20173 val_t variable2;
20174 val_t variable3;
20175 val_t variable4;
20176 val_t variable5;
20177 val_t variable6;
20178 val_t variable7;
20179 val_t variable8;
20180 val_t variable9;
20181 val_t variable10;
20182 val_t variable11;
20183 val_t variable12;
20184 val_t variable13;
20185 val_t variable14;
20186 val_t variable15;
20187 val_t variable16;
20188 trace.prev = tracehead; tracehead = &trace;
20189 variable0 = param0;
20190 variable1 = NIT_NULL /*null*/;
20191 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20192 variable2 = variable3;
20193 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20194 variable3 = variable4;
20195 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20196 variable4 = variable5;
20197 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20198 variable5 = variable6;
20199 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20200 variable6 = variable7;
20201 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20202 variable7 = variable8;
20203 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20204 variable8 = variable9;
20205 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
20206 variable9 = variable10;
20207 variable10 = variable8 /*nodearraylist1*/;
20208 variable11 = TAG_Bool(( variable10 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20209 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10682,6--32\n"); nit_exit(1);}
20210 variable11 = variable5 /*nodearraylist4*/;
20211 variable12 = TAG_Bool(( variable11 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
20212 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10684,6--28\n"); nit_exit(1);}
20213 variable12 = variable4 /*nodearraylist5*/;
20214 variable13 = TAG_Bool(( variable12 /*listnode4*/==NIT_NULL) || VAL_ISA( variable12 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20215 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10686,6--38\n"); nit_exit(1);}
20216 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode4*/ == NIT_NULL /*null*/) || (( variable12 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
20217 if (UNTAG_Bool(variable13)) { /*if*/
20218 variable13 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode5*/) /*Array::is_empty*/;
20219 if (UNTAG_Bool(variable13)) { /*if*/
20220 variable9 = variable12 /*listnode4*/ /*listnode5=*/;
20221 } else { /*if*/
20222 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode5*/, variable12 /*listnode4*/) /*Array::append*/;
20223 }
20224 }
20225 variable13 = variable3 /*nodearraylist6*/;
20226 variable14 = TAG_Bool(( variable13 /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable13 /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
20227 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10695,6--36\n"); nit_exit(1);}
20228 variable14 = variable2 /*nodearraylist7*/;
20229 variable15 = TAG_Bool(( variable14 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20230 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10697,6--32\n"); nit_exit(1);}
20231 variable16 = NEW_parser_prod___ACallAssignExpr___init_acallassignexpr( variable10 /*pexprnode2*/, variable11 /*tidnode3*/, variable9 /*listnode5*/, variable13 /*tassignnode6*/, variable14 /*pexprnode7*/); /*new ACallAssignExpr*/
20232 variable15 = variable16;
20233 variable1 = variable15 /*pexprnode1*/ /*node_list=*/;
20234 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/;
20235 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
20236 tracehead = trace.prev;
20237 return;
20238 }
20239 void parser___ReduceAction258___init(val_t self, int* init_table) {
20240 struct trace_t trace = {NULL, "parser::ReduceAction258::init (src/parser//parser.nit:10708,1--4)"};
20241 trace.prev = tracehead; tracehead = &trace;
20242 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction258].i]) return;
20243 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction258].i] = 1;
20244 tracehead = trace.prev;
20245 return;
20246 }
20247 void parser___ReduceAction259___action(val_t self, val_t param0) {
20248 struct trace_t trace = {NULL, "parser::ReduceAction259::action (src/parser//parser.nit:10712,2--10745:34)"};
20249 val_t variable0;
20250 val_t variable1;
20251 val_t variable2;
20252 val_t variable3;
20253 val_t variable4;
20254 val_t variable5;
20255 val_t variable6;
20256 val_t variable7;
20257 val_t variable8;
20258 val_t variable9;
20259 val_t variable10;
20260 val_t variable11;
20261 val_t variable12;
20262 val_t variable13;
20263 trace.prev = tracehead; tracehead = &trace;
20264 variable0 = param0;
20265 variable1 = NIT_NULL /*null*/;
20266 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20267 variable2 = variable3;
20268 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20269 variable3 = variable4;
20270 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20271 variable4 = variable5;
20272 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20273 variable5 = variable6;
20274 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
20275 variable6 = variable7;
20276 variable8 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
20277 variable7 = variable8;
20278 variable8 = variable5 /*nodearraylist1*/;
20279 variable9 = TAG_Bool(( variable8 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable8 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
20280 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10723,6--28\n"); nit_exit(1);}
20281 variable9 = variable4 /*nodearraylist2*/;
20282 variable10 = TAG_Bool(( variable9 /*listnode4*/==NIT_NULL) || VAL_ISA( variable9 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20283 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10725,6--38\n"); nit_exit(1);}
20284 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ == NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
20285 if (UNTAG_Bool(variable10)) { /*if*/
20286 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode5*/) /*Array::is_empty*/;
20287 if (UNTAG_Bool(variable10)) { /*if*/
20288 variable6 = variable9 /*listnode4*/ /*listnode5=*/;
20289 } else { /*if*/
20290 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode5*/, variable9 /*listnode4*/) /*Array::append*/;
20291 }
20292 }
20293 variable10 = variable3 /*nodearraylist3*/;
20294 variable11 = TAG_Bool(( variable10 /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable10 /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
20295 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10734,6--36\n"); nit_exit(1);}
20296 variable11 = variable2 /*nodearraylist4*/;
20297 variable12 = TAG_Bool(( variable11 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20298 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10736,6--32\n"); nit_exit(1);}
20299 variable13 = NEW_parser_prod___ACallAssignExpr___init_acallassignexpr( variable7 /*pexprnode2*/, variable8 /*tidnode3*/, variable6 /*listnode5*/, variable10 /*tassignnode6*/, variable11 /*pexprnode7*/); /*new ACallAssignExpr*/
20300 variable12 = variable13;
20301 variable1 = variable12 /*pexprnode1*/ /*node_list=*/;
20302 variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/;
20303 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/;
20304 tracehead = trace.prev;
20305 return;
20306 }
20307 void parser___ReduceAction259___init(val_t self, int* init_table) {
20308 struct trace_t trace = {NULL, "parser::ReduceAction259::init (src/parser//parser.nit:10747,1--4)"};
20309 trace.prev = tracehead; tracehead = &trace;
20310 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction259].i]) return;
20311 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction259].i] = 1;
20312 tracehead = trace.prev;
20313 return;
20314 }
20315 void parser___ReduceAction260___action(val_t self, val_t param0) {
20316 struct trace_t trace = {NULL, "parser::ReduceAction260::action (src/parser//parser.nit:10751,2--10781:34)"};
20317 val_t variable0;
20318 val_t variable1;
20319 val_t variable2;
20320 val_t variable3;
20321 val_t variable4;
20322 val_t variable5;
20323 val_t variable6;
20324 val_t variable7;
20325 val_t variable8;
20326 val_t variable9;
20327 val_t variable10;
20328 val_t variable11;
20329 val_t variable12;
20330 trace.prev = tracehead; tracehead = &trace;
20331 variable0 = param0;
20332 variable1 = NIT_NULL /*null*/;
20333 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20334 variable2 = variable3;
20335 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20336 variable3 = variable4;
20337 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20338 variable4 = variable5;
20339 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20340 variable5 = variable6;
20341 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
20342 variable6 = variable7;
20343 variable7 = variable5 /*nodearraylist1*/;
20344 variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20345 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10760,6--32\n"); nit_exit(1);}
20346 variable8 = variable4 /*nodearraylist2*/;
20347 variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20348 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10762,6--38\n"); nit_exit(1);}
20349 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
20350 if (UNTAG_Bool(variable9)) { /*if*/
20351 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
20352 if (UNTAG_Bool(variable9)) { /*if*/
20353 variable6 = variable8 /*listnode3*/ /*listnode4=*/;
20354 } else { /*if*/
20355 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/;
20356 }
20357 }
20358 variable9 = variable3 /*nodearraylist3*/;
20359 variable10 = TAG_Bool(( variable9 /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable9 /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
20360 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10771,6--36\n"); nit_exit(1);}
20361 variable10 = variable2 /*nodearraylist4*/;
20362 variable11 = TAG_Bool(( variable10 /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20363 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10773,6--32\n"); nit_exit(1);}
20364 variable12 = NEW_parser_prod___ABraAssignExpr___init_abraassignexpr( variable7 /*pexprnode2*/, variable6 /*listnode4*/, variable9 /*tassignnode5*/, variable10 /*pexprnode6*/); /*new ABraAssignExpr*/
20365 variable11 = variable12;
20366 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
20367 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/;
20368 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
20369 tracehead = trace.prev;
20370 return;
20371 }
20372 void parser___ReduceAction260___init(val_t self, int* init_table) {
20373 struct trace_t trace = {NULL, "parser::ReduceAction260::init (src/parser//parser.nit:10783,1--4)"};
20374 trace.prev = tracehead; tracehead = &trace;
20375 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction260].i]) return;
20376 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction260].i] = 1;
20377 tracehead = trace.prev;
20378 return;
20379 }
20380 void parser___ReduceAction261___action(val_t self, val_t param0) {
20381 struct trace_t trace = {NULL, "parser::ReduceAction261::action (src/parser//parser.nit:10787,2--10811:34)"};
20382 val_t variable0;
20383 val_t variable1;
20384 val_t variable2;
20385 val_t variable3;
20386 val_t variable4;
20387 val_t variable5;
20388 val_t variable6;
20389 val_t variable7;
20390 val_t variable8;
20391 val_t variable9;
20392 val_t variable10;
20393 val_t variable11;
20394 val_t variable12;
20395 val_t variable13;
20396 trace.prev = tracehead; tracehead = &trace;
20397 variable0 = param0;
20398 variable1 = NIT_NULL /*null*/;
20399 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20400 variable2 = variable3;
20401 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20402 variable3 = variable4;
20403 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20404 variable4 = variable5;
20405 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20406 variable5 = variable6;
20407 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20408 variable6 = variable7;
20409 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20410 variable7 = variable8;
20411 variable8 = variable7 /*nodearraylist1*/;
20412 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20413 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10797,6--32\n"); nit_exit(1);}
20414 variable9 = variable4 /*nodearraylist4*/;
20415 variable10 = TAG_Bool(( variable9 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20416 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10799,6--36\n"); nit_exit(1);}
20417 variable10 = variable3 /*nodearraylist5*/;
20418 variable11 = TAG_Bool(( variable10 /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable10 /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
20419 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10801,6--40\n"); nit_exit(1);}
20420 variable11 = variable2 /*nodearraylist6*/;
20421 variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20422 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10803,6--32\n"); nit_exit(1);}
20423 variable13 = NEW_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable8 /*pexprnode2*/, variable9 /*tattridnode3*/, variable10 /*passignopnode4*/, variable11 /*pexprnode5*/); /*new AAttrReassignExpr*/
20424 variable12 = variable13;
20425 variable1 = variable12 /*pexprnode1*/ /*node_list=*/;
20426 variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/;
20427 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/;
20428 tracehead = trace.prev;
20429 return;
20430 }
20431 void parser___ReduceAction261___init(val_t self, int* init_table) {
20432 struct trace_t trace = {NULL, "parser::ReduceAction261::init (src/parser//parser.nit:10813,1--4)"};
20433 trace.prev = tracehead; tracehead = &trace;
20434 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction261].i]) return;
20435 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction261].i] = 1;
20436 tracehead = trace.prev;
20437 return;
20438 }
20439 void parser___ReduceAction262___action(val_t self, val_t param0) {
20440 struct trace_t trace = {NULL, "parser::ReduceAction262::action (src/parser//parser.nit:10817,2--10838:34)"};
20441 val_t variable0;
20442 val_t variable1;
20443 val_t variable2;
20444 val_t variable3;
20445 val_t variable4;
20446 val_t variable5;
20447 val_t variable6;
20448 val_t variable7;
20449 val_t variable8;
20450 val_t variable9;
20451 val_t variable10;
20452 trace.prev = tracehead; tracehead = &trace;
20453 variable0 = param0;
20454 variable1 = NIT_NULL /*null*/;
20455 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20456 variable2 = variable3;
20457 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20458 variable3 = variable4;
20459 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20460 variable4 = variable5;
20461 variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
20462 variable5 = variable6;
20463 variable6 = variable4 /*nodearraylist1*/;
20464 variable7 = TAG_Bool(( variable6 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20465 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10826,6--36\n"); nit_exit(1);}
20466 variable7 = variable3 /*nodearraylist2*/;
20467 variable8 = TAG_Bool(( variable7 /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable7 /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
20468 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10828,6--40\n"); nit_exit(1);}
20469 variable8 = variable2 /*nodearraylist3*/;
20470 variable9 = TAG_Bool(( variable8 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20471 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10830,6--32\n"); nit_exit(1);}
20472 variable10 = NEW_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable5 /*pexprnode2*/, variable6 /*tattridnode3*/, variable7 /*passignopnode4*/, variable8 /*pexprnode5*/); /*new AAttrReassignExpr*/
20473 variable9 = variable10;
20474 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
20475 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/;
20476 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
20477 tracehead = trace.prev;
20478 return;
20479 }
20480 void parser___ReduceAction262___init(val_t self, int* init_table) {
20481 struct trace_t trace = {NULL, "parser::ReduceAction262::init (src/parser//parser.nit:10840,1--4)"};
20482 trace.prev = tracehead; tracehead = &trace;
20483 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction262].i]) return;
20484 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction262].i] = 1;
20485 tracehead = trace.prev;
20486 return;
20487 }
20488 void parser___ReduceAction263___action(val_t self, val_t param0) {
20489 struct trace_t trace = {NULL, "parser::ReduceAction263::action (src/parser//parser.nit:10844,2--10880:34)"};
20490 val_t variable0;
20491 val_t variable1;
20492 val_t variable2;
20493 val_t variable3;
20494 val_t variable4;
20495 val_t variable5;
20496 val_t variable6;
20497 val_t variable7;
20498 val_t variable8;
20499 val_t variable9;
20500 val_t variable10;
20501 val_t variable11;
20502 val_t variable12;
20503 val_t variable13;
20504 val_t variable14;
20505 val_t variable15;
20506 val_t variable16;
20507 trace.prev = tracehead; tracehead = &trace;
20508 variable0 = param0;
20509 variable1 = NIT_NULL /*null*/;
20510 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20511 variable2 = variable3;
20512 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20513 variable3 = variable4;
20514 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20515 variable4 = variable5;
20516 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20517 variable5 = variable6;
20518 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20519 variable6 = variable7;
20520 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20521 variable7 = variable8;
20522 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20523 variable8 = variable9;
20524 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
20525 variable9 = variable10;
20526 variable10 = variable8 /*nodearraylist1*/;
20527 variable11 = TAG_Bool(( variable10 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20528 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10856,6--32\n"); nit_exit(1);}
20529 variable11 = variable5 /*nodearraylist4*/;
20530 variable12 = TAG_Bool(( variable11 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
20531 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10858,6--28\n"); nit_exit(1);}
20532 variable12 = variable4 /*nodearraylist5*/;
20533 variable13 = TAG_Bool(( variable12 /*listnode4*/==NIT_NULL) || VAL_ISA( variable12 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20534 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10860,6--38\n"); nit_exit(1);}
20535 variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode4*/ == NIT_NULL /*null*/) || (( variable12 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
20536 if (UNTAG_Bool(variable13)) { /*if*/
20537 variable13 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode5*/) /*Array::is_empty*/;
20538 if (UNTAG_Bool(variable13)) { /*if*/
20539 variable9 = variable12 /*listnode4*/ /*listnode5=*/;
20540 } else { /*if*/
20541 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode5*/, variable12 /*listnode4*/) /*Array::append*/;
20542 }
20543 }
20544 variable13 = variable3 /*nodearraylist6*/;
20545 variable14 = TAG_Bool(( variable13 /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable13 /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
20546 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10869,6--40\n"); nit_exit(1);}
20547 variable14 = variable2 /*nodearraylist7*/;
20548 variable15 = TAG_Bool(( variable14 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20549 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10871,6--32\n"); nit_exit(1);}
20550 variable16 = NEW_parser_prod___ACallReassignExpr___init_acallreassignexpr( variable10 /*pexprnode2*/, variable11 /*tidnode3*/, variable9 /*listnode5*/, variable13 /*passignopnode6*/, variable14 /*pexprnode7*/); /*new ACallReassignExpr*/
20551 variable15 = variable16;
20552 variable1 = variable15 /*pexprnode1*/ /*node_list=*/;
20553 variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/;
20554 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/;
20555 tracehead = trace.prev;
20556 return;
20557 }
20558 void parser___ReduceAction263___init(val_t self, int* init_table) {
20559 struct trace_t trace = {NULL, "parser::ReduceAction263::init (src/parser//parser.nit:10882,1--4)"};
20560 trace.prev = tracehead; tracehead = &trace;
20561 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction263].i]) return;
20562 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction263].i] = 1;
20563 tracehead = trace.prev;
20564 return;
20565 }
20566 void parser___ReduceAction264___action(val_t self, val_t param0) {
20567 struct trace_t trace = {NULL, "parser::ReduceAction264::action (src/parser//parser.nit:10886,2--10919:34)"};
20568 val_t variable0;
20569 val_t variable1;
20570 val_t variable2;
20571 val_t variable3;
20572 val_t variable4;
20573 val_t variable5;
20574 val_t variable6;
20575 val_t variable7;
20576 val_t variable8;
20577 val_t variable9;
20578 val_t variable10;
20579 val_t variable11;
20580 val_t variable12;
20581 val_t variable13;
20582 trace.prev = tracehead; tracehead = &trace;
20583 variable0 = param0;
20584 variable1 = NIT_NULL /*null*/;
20585 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20586 variable2 = variable3;
20587 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20588 variable3 = variable4;
20589 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20590 variable4 = variable5;
20591 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20592 variable5 = variable6;
20593 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
20594 variable6 = variable7;
20595 variable8 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
20596 variable7 = variable8;
20597 variable8 = variable5 /*nodearraylist1*/;
20598 variable9 = TAG_Bool(( variable8 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable8 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
20599 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10897,6--28\n"); nit_exit(1);}
20600 variable9 = variable4 /*nodearraylist2*/;
20601 variable10 = TAG_Bool(( variable9 /*listnode4*/==NIT_NULL) || VAL_ISA( variable9 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20602 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10899,6--38\n"); nit_exit(1);}
20603 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ == NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
20604 if (UNTAG_Bool(variable10)) { /*if*/
20605 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode5*/) /*Array::is_empty*/;
20606 if (UNTAG_Bool(variable10)) { /*if*/
20607 variable6 = variable9 /*listnode4*/ /*listnode5=*/;
20608 } else { /*if*/
20609 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode5*/, variable9 /*listnode4*/) /*Array::append*/;
20610 }
20611 }
20612 variable10 = variable3 /*nodearraylist3*/;
20613 variable11 = TAG_Bool(( variable10 /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable10 /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
20614 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10908,6--40\n"); nit_exit(1);}
20615 variable11 = variable2 /*nodearraylist4*/;
20616 variable12 = TAG_Bool(( variable11 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20617 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10910,6--32\n"); nit_exit(1);}
20618 variable13 = NEW_parser_prod___ACallReassignExpr___init_acallreassignexpr( variable7 /*pexprnode2*/, variable8 /*tidnode3*/, variable6 /*listnode5*/, variable10 /*passignopnode6*/, variable11 /*pexprnode7*/); /*new ACallReassignExpr*/
20619 variable12 = variable13;
20620 variable1 = variable12 /*pexprnode1*/ /*node_list=*/;
20621 variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/;
20622 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/;
20623 tracehead = trace.prev;
20624 return;
20625 }
20626 void parser___ReduceAction264___init(val_t self, int* init_table) {
20627 struct trace_t trace = {NULL, "parser::ReduceAction264::init (src/parser//parser.nit:10921,1--4)"};
20628 trace.prev = tracehead; tracehead = &trace;
20629 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction264].i]) return;
20630 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction264].i] = 1;
20631 tracehead = trace.prev;
20632 return;
20633 }
20634 void parser___ReduceAction265___action(val_t self, val_t param0) {
20635 struct trace_t trace = {NULL, "parser::ReduceAction265::action (src/parser//parser.nit:10925,2--10955:34)"};
20636 val_t variable0;
20637 val_t variable1;
20638 val_t variable2;
20639 val_t variable3;
20640 val_t variable4;
20641 val_t variable5;
20642 val_t variable6;
20643 val_t variable7;
20644 val_t variable8;
20645 val_t variable9;
20646 val_t variable10;
20647 val_t variable11;
20648 val_t variable12;
20649 trace.prev = tracehead; tracehead = &trace;
20650 variable0 = param0;
20651 variable1 = NIT_NULL /*null*/;
20652 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20653 variable2 = variable3;
20654 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20655 variable3 = variable4;
20656 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20657 variable4 = variable5;
20658 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20659 variable5 = variable6;
20660 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
20661 variable6 = variable7;
20662 variable7 = variable5 /*nodearraylist1*/;
20663 variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20664 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10934,6--32\n"); nit_exit(1);}
20665 variable8 = variable4 /*nodearraylist2*/;
20666 variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
20667 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10936,6--38\n"); nit_exit(1);}
20668 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
20669 if (UNTAG_Bool(variable9)) { /*if*/
20670 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/;
20671 if (UNTAG_Bool(variable9)) { /*if*/
20672 variable6 = variable8 /*listnode3*/ /*listnode4=*/;
20673 } else { /*if*/
20674 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/;
20675 }
20676 }
20677 variable9 = variable3 /*nodearraylist3*/;
20678 variable10 = TAG_Bool(( variable9 /*passignopnode5*/==NIT_NULL) || VAL_ISA( variable9 /*passignopnode5*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
20679 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10945,6--40\n"); nit_exit(1);}
20680 variable10 = variable2 /*nodearraylist4*/;
20681 variable11 = TAG_Bool(( variable10 /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20682 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10947,6--32\n"); nit_exit(1);}
20683 variable12 = NEW_parser_prod___ABraReassignExpr___init_abrareassignexpr( variable7 /*pexprnode2*/, variable6 /*listnode4*/, variable9 /*passignopnode5*/, variable10 /*pexprnode6*/); /*new ABraReassignExpr*/
20684 variable11 = variable12;
20685 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
20686 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/;
20687 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
20688 tracehead = trace.prev;
20689 return;
20690 }
20691 void parser___ReduceAction265___init(val_t self, int* init_table) {
20692 struct trace_t trace = {NULL, "parser::ReduceAction265::init (src/parser//parser.nit:10957,1--4)"};
20693 trace.prev = tracehead; tracehead = &trace;
20694 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction265].i]) return;
20695 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction265].i] = 1;
20696 tracehead = trace.prev;
20697 return;
20698 }
20699 void parser___ReduceAction266___action(val_t self, val_t param0) {
20700 struct trace_t trace = {NULL, "parser::ReduceAction266::action (src/parser//parser.nit:10961,2--10971:34)"};
20701 val_t variable0;
20702 val_t variable1;
20703 val_t variable2;
20704 val_t variable3;
20705 val_t variable4;
20706 val_t variable5;
20707 trace.prev = tracehead; tracehead = &trace;
20708 variable0 = param0;
20709 variable1 = NIT_NULL /*null*/;
20710 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20711 variable2 = variable3;
20712 variable3 = variable2 /*nodearraylist1*/;
20713 variable4 = TAG_Bool(( variable3 /*tpluseqnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tpluseqnode2*/, COLOR_TPluseq, ID_TPluseq)) /*cast TPluseq*/;
20714 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10966,6--36\n"); nit_exit(1);}
20715 variable5 = NEW_parser_prod___APlusAssignOp___init_aplusassignop( variable3 /*tpluseqnode2*/); /*new APlusAssignOp*/
20716 variable4 = variable5;
20717 variable1 = variable4 /*passignopnode1*/ /*node_list=*/;
20718 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(30)) /*Parser::go_to*/;
20719 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
20720 tracehead = trace.prev;
20721 return;
20722 }
20723 void parser___ReduceAction266___init(val_t self, int* init_table) {
20724 struct trace_t trace = {NULL, "parser::ReduceAction266::init (src/parser//parser.nit:10973,1--4)"};
20725 trace.prev = tracehead; tracehead = &trace;
20726 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction266].i]) return;
20727 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction266].i] = 1;
20728 tracehead = trace.prev;
20729 return;
20730 }
20731 void parser___ReduceAction267___action(val_t self, val_t param0) {
20732 struct trace_t trace = {NULL, "parser::ReduceAction267::action (src/parser//parser.nit:10977,2--10987:34)"};
20733 val_t variable0;
20734 val_t variable1;
20735 val_t variable2;
20736 val_t variable3;
20737 val_t variable4;
20738 val_t variable5;
20739 trace.prev = tracehead; tracehead = &trace;
20740 variable0 = param0;
20741 variable1 = NIT_NULL /*null*/;
20742 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20743 variable2 = variable3;
20744 variable3 = variable2 /*nodearraylist1*/;
20745 variable4 = TAG_Bool(( variable3 /*tminuseqnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tminuseqnode2*/, COLOR_TMinuseq, ID_TMinuseq)) /*cast TMinuseq*/;
20746 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10982,6--38\n"); nit_exit(1);}
20747 variable5 = NEW_parser_prod___AMinusAssignOp___init_aminusassignop( variable3 /*tminuseqnode2*/); /*new AMinusAssignOp*/
20748 variable4 = variable5;
20749 variable1 = variable4 /*passignopnode1*/ /*node_list=*/;
20750 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(30)) /*Parser::go_to*/;
20751 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
20752 tracehead = trace.prev;
20753 return;
20754 }
20755 void parser___ReduceAction267___init(val_t self, int* init_table) {
20756 struct trace_t trace = {NULL, "parser::ReduceAction267::init (src/parser//parser.nit:10989,1--4)"};
20757 trace.prev = tracehead; tracehead = &trace;
20758 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction267].i]) return;
20759 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction267].i] = 1;
20760 tracehead = trace.prev;
20761 return;
20762 }
20763 void parser___ReduceAction268___action(val_t self, val_t param0) {
20764 struct trace_t trace = {NULL, "parser::ReduceAction268::action (src/parser//parser.nit:10993,2--11007:34)"};
20765 val_t variable0;
20766 val_t variable1;
20767 val_t variable2;
20768 val_t variable3;
20769 val_t variable4;
20770 val_t variable5;
20771 val_t variable6;
20772 val_t variable7;
20773 trace.prev = tracehead; tracehead = &trace;
20774 variable0 = param0;
20775 variable1 = NIT_NULL /*null*/;
20776 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20777 variable2 = variable3;
20778 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20779 variable3 = variable4;
20780 variable4 = variable3 /*nodearraylist1*/;
20781 variable5 = TAG_Bool(( variable4 /*tkwdonode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwdonode2*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
20782 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10999,6--32\n"); nit_exit(1);}
20783 variable5 = variable2 /*nodearraylist2*/;
20784 variable6 = TAG_Bool(( variable5 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20785 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11001,6--32\n"); nit_exit(1);}
20786 variable7 = NEW_parser_prod___ADoExpr___init_adoexpr( variable4 /*tkwdonode2*/, variable5 /*pexprnode3*/); /*new ADoExpr*/
20787 variable6 = variable7;
20788 variable1 = variable6 /*pexprnode1*/ /*node_list=*/;
20789 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(31)) /*Parser::go_to*/;
20790 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
20791 tracehead = trace.prev;
20792 return;
20793 }
20794 void parser___ReduceAction268___init(val_t self, int* init_table) {
20795 struct trace_t trace = {NULL, "parser::ReduceAction268::init (src/parser//parser.nit:11009,1--4)"};
20796 trace.prev = tracehead; tracehead = &trace;
20797 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction268].i]) return;
20798 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction268].i] = 1;
20799 tracehead = trace.prev;
20800 return;
20801 }
20802 void parser___ReduceAction269___action(val_t self, val_t param0) {
20803 struct trace_t trace = {NULL, "parser::ReduceAction269::action (src/parser//parser.nit:11013,2--11039:34)"};
20804 val_t variable0;
20805 val_t variable1;
20806 val_t variable2;
20807 val_t variable3;
20808 val_t variable4;
20809 val_t variable5;
20810 val_t variable6;
20811 val_t variable7;
20812 val_t variable8;
20813 val_t variable9;
20814 val_t variable10;
20815 val_t variable11;
20816 val_t variable12;
20817 val_t variable13;
20818 val_t variable14;
20819 val_t variable15;
20820 trace.prev = tracehead; tracehead = &trace;
20821 variable0 = param0;
20822 variable1 = NIT_NULL /*null*/;
20823 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20824 variable2 = variable3;
20825 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20826 variable3 = variable4;
20827 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20828 variable4 = variable5;
20829 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20830 variable5 = variable6;
20831 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20832 variable6 = variable7;
20833 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20834 variable7 = variable8;
20835 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20836 variable8 = variable9;
20837 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20838 variable9 = variable10;
20839 variable10 = variable9 /*nodearraylist1*/;
20840 variable11 = TAG_Bool(( variable10 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
20841 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11025,6--32\n"); nit_exit(1);}
20842 variable11 = variable7 /*nodearraylist3*/;
20843 variable12 = TAG_Bool(( variable11 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20844 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11027,6--32\n"); nit_exit(1);}
20845 variable12 = variable4 /*nodearraylist6*/;
20846 variable13 = TAG_Bool(( variable12 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20847 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11029,6--32\n"); nit_exit(1);}
20848 variable13 = variable2 /*nodearraylist8*/;
20849 variable14 = TAG_Bool(( variable13 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20850 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11031,6--32\n"); nit_exit(1);}
20851 variable15 = NEW_parser_prod___AIfExpr___init_aifexpr( variable10 /*tkwifnode2*/, variable11 /*pexprnode3*/, variable12 /*pexprnode4*/, variable13 /*pexprnode5*/); /*new AIfExpr*/
20852 variable14 = variable15;
20853 variable1 = variable14 /*pexprnode1*/ /*node_list=*/;
20854 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(32)) /*Parser::go_to*/;
20855 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
20856 tracehead = trace.prev;
20857 return;
20858 }
20859 void parser___ReduceAction269___init(val_t self, int* init_table) {
20860 struct trace_t trace = {NULL, "parser::ReduceAction269::init (src/parser//parser.nit:11041,1--4)"};
20861 trace.prev = tracehead; tracehead = &trace;
20862 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction269].i]) return;
20863 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction269].i] = 1;
20864 tracehead = trace.prev;
20865 return;
20866 }
20867 void parser___ReduceAction270___action(val_t self, val_t param0) {
20868 struct trace_t trace = {NULL, "parser::ReduceAction270::action (src/parser//parser.nit:11045,2--11067:34)"};
20869 val_t variable0;
20870 val_t variable1;
20871 val_t variable2;
20872 val_t variable3;
20873 val_t variable4;
20874 val_t variable5;
20875 val_t variable6;
20876 val_t variable7;
20877 val_t variable8;
20878 val_t variable9;
20879 val_t variable10;
20880 val_t variable11;
20881 val_t variable12;
20882 trace.prev = tracehead; tracehead = &trace;
20883 variable0 = param0;
20884 variable1 = NIT_NULL /*null*/;
20885 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20886 variable2 = variable3;
20887 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20888 variable3 = variable4;
20889 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20890 variable4 = variable5;
20891 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20892 variable5 = variable6;
20893 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20894 variable6 = variable7;
20895 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20896 variable7 = variable8;
20897 variable8 = variable7 /*nodearraylist1*/;
20898 variable9 = TAG_Bool(( variable8 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
20899 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11055,6--32\n"); nit_exit(1);}
20900 variable9 = variable5 /*nodearraylist3*/;
20901 variable10 = TAG_Bool(( variable9 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20902 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11057,6--32\n"); nit_exit(1);}
20903 variable10 = variable2 /*nodearraylist6*/;
20904 variable11 = TAG_Bool(( variable10 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20905 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11059,6--32\n"); nit_exit(1);}
20906 variable12 = NEW_parser_prod___AIfExpr___init_aifexpr( variable8 /*tkwifnode2*/, variable9 /*pexprnode3*/, variable10 /*pexprnode4*/, NIT_NULL /*null*/); /*new AIfExpr*/
20907 variable11 = variable12;
20908 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
20909 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(32)) /*Parser::go_to*/;
20910 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
20911 tracehead = trace.prev;
20912 return;
20913 }
20914 void parser___ReduceAction270___init(val_t self, int* init_table) {
20915 struct trace_t trace = {NULL, "parser::ReduceAction270::init (src/parser//parser.nit:11069,1--4)"};
20916 trace.prev = tracehead; tracehead = &trace;
20917 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction270].i]) return;
20918 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction270].i] = 1;
20919 tracehead = trace.prev;
20920 return;
20921 }
20922 void parser___ReduceAction271___action(val_t self, val_t param0) {
20923 struct trace_t trace = {NULL, "parser::ReduceAction271::action (src/parser//parser.nit:11073,2--11107:34)"};
20924 val_t variable0;
20925 val_t variable1;
20926 val_t variable2;
20927 val_t variable3;
20928 val_t variable4;
20929 val_t variable5;
20930 val_t variable6;
20931 val_t variable7;
20932 val_t variable8;
20933 val_t variable9;
20934 val_t variable10;
20935 val_t variable11;
20936 val_t variable12;
20937 val_t variable13;
20938 val_t variable14;
20939 val_t variable15;
20940 val_t variable16;
20941 val_t variable17;
20942 val_t variable18;
20943 trace.prev = tracehead; tracehead = &trace;
20944 variable0 = param0;
20945 variable1 = NIT_NULL /*null*/;
20946 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20947 variable2 = variable3;
20948 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20949 variable3 = variable4;
20950 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20951 variable4 = variable5;
20952 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20953 variable5 = variable6;
20954 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20955 variable6 = variable7;
20956 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20957 variable7 = variable8;
20958 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20959 variable8 = variable9;
20960 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20961 variable9 = variable10;
20962 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
20963 variable10 = variable11;
20964 variable11 = variable10 /*nodearraylist1*/;
20965 variable12 = TAG_Bool(( variable11 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable11 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
20966 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11086,6--32\n"); nit_exit(1);}
20967 variable12 = variable8 /*nodearraylist3*/;
20968 variable13 = TAG_Bool(( variable12 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20969 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11088,6--32\n"); nit_exit(1);}
20970 variable14 = NEW_array___Array___init(); /*new Array[Object]*/
20971 variable13 = variable14;
20972 variable14 = variable4 /*nodearraylist7*/;
20973 variable15 = TAG_Bool(( variable14 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20974 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11091,6--32\n"); nit_exit(1);}
20975 variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pexprnode5*/ == NIT_NULL /*null*/) || (( variable14 /*pexprnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pexprnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))( variable14 /*pexprnode5*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
20976 if (UNTAG_Bool(variable15)) { /*if*/
20977 ((array___AbstractArray___add_t)CALL( variable13 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode6*/, variable14 /*pexprnode5*/) /*Array::add*/;
20978 }
20979 variable16 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable13 /*listnode6*/); /*new ABlockExpr*/
20980 variable15 = variable16;
20981 variable16 = variable2 /*nodearraylist9*/;
20982 variable17 = TAG_Bool(( variable16 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20983 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11099,6--32\n"); nit_exit(1);}
20984 variable18 = NEW_parser_prod___AIfExpr___init_aifexpr( variable11 /*tkwifnode2*/, variable12 /*pexprnode3*/, variable15 /*pexprnode4*/, variable16 /*pexprnode7*/); /*new AIfExpr*/
20985 variable17 = variable18;
20986 variable1 = variable17 /*pexprnode1*/ /*node_list=*/;
20987 variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(32)) /*Parser::go_to*/;
20988 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/;
20989 tracehead = trace.prev;
20990 return;
20991 }
20992 void parser___ReduceAction271___init(val_t self, int* init_table) {
20993 struct trace_t trace = {NULL, "parser::ReduceAction271::init (src/parser//parser.nit:11109,1--4)"};
20994 trace.prev = tracehead; tracehead = &trace;
20995 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction271].i]) return;
20996 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction271].i] = 1;
20997 tracehead = trace.prev;
20998 return;
20999 }
21000 void parser___ReduceAction272___action(val_t self, val_t param0) {
21001 struct trace_t trace = {NULL, "parser::ReduceAction272::action (src/parser//parser.nit:11113,2--11157:34)"};
21002 val_t variable0;
21003 val_t variable1;
21004 val_t variable2;
21005 val_t variable3;
21006 val_t variable4;
21007 val_t variable5;
21008 val_t variable6;
21009 val_t variable7;
21010 val_t variable8;
21011 val_t variable9;
21012 val_t variable10;
21013 val_t variable11;
21014 val_t variable12;
21015 val_t variable13;
21016 val_t variable14;
21017 val_t variable15;
21018 val_t variable16;
21019 val_t variable17;
21020 val_t variable18;
21021 val_t variable19;
21022 val_t variable20;
21023 trace.prev = tracehead; tracehead = &trace;
21024 variable0 = param0;
21025 variable1 = NIT_NULL /*null*/;
21026 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21027 variable2 = variable3;
21028 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21029 variable3 = variable4;
21030 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21031 variable4 = variable5;
21032 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21033 variable5 = variable6;
21034 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21035 variable6 = variable7;
21036 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21037 variable7 = variable8;
21038 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21039 variable8 = variable9;
21040 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21041 variable9 = variable10;
21042 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21043 variable10 = variable11;
21044 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21045 variable11 = variable12;
21046 variable12 = variable11 /*nodearraylist1*/;
21047 variable13 = TAG_Bool(( variable12 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable12 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
21048 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11127,6--32\n"); nit_exit(1);}
21049 variable13 = variable9 /*nodearraylist3*/;
21050 variable14 = TAG_Bool(( variable13 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21051 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11129,6--32\n"); nit_exit(1);}
21052 variable15 = NEW_array___Array___init(); /*new Array[Object]*/
21053 variable14 = variable15;
21054 variable15 = variable5 /*nodearraylist7*/;
21055 variable16 = TAG_Bool(( variable15 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21056 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11132,6--32\n"); nit_exit(1);}
21057 variable16 = variable4 /*nodearraylist8*/;
21058 variable17 = TAG_Bool(( variable16 /*listnode6*/==NIT_NULL) || VAL_ISA( variable16 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
21059 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11134,6--38\n"); nit_exit(1);}
21060 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pexprnode5*/ == NIT_NULL /*null*/) || (( variable15 /*pexprnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pexprnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))( variable15 /*pexprnode5*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
21061 if (UNTAG_Bool(variable17)) { /*if*/
21062 ((array___AbstractArray___add_t)CALL( variable14 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode7*/, variable15 /*pexprnode5*/) /*Array::add*/;
21063 }
21064 variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*listnode6*/ == NIT_NULL /*null*/) || (( variable16 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable16 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable16 /*listnode6*/, NIT_NULL /*null*/) /*Array::==*/)))));
21065 if (UNTAG_Bool(variable17)) { /*if*/
21066 variable17 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode7*/) /*Array::is_empty*/;
21067 if (UNTAG_Bool(variable17)) { /*if*/
21068 variable14 = variable16 /*listnode6*/ /*listnode7=*/;
21069 } else { /*if*/
21070 ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode7*/, variable16 /*listnode6*/) /*Array::append*/;
21071 }
21072 }
21073 variable18 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable14 /*listnode7*/); /*new ABlockExpr*/
21074 variable17 = variable18;
21075 variable18 = variable2 /*nodearraylist10*/;
21076 variable19 = TAG_Bool(( variable18 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21077 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11149,6--32\n"); nit_exit(1);}
21078 variable20 = NEW_parser_prod___AIfExpr___init_aifexpr( variable12 /*tkwifnode2*/, variable13 /*pexprnode3*/, variable17 /*pexprnode4*/, variable18 /*pexprnode8*/); /*new AIfExpr*/
21079 variable19 = variable20;
21080 variable1 = variable19 /*pexprnode1*/ /*node_list=*/;
21081 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(32)) /*Parser::go_to*/;
21082 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
21083 tracehead = trace.prev;
21084 return;
21085 }
21086 void parser___ReduceAction272___init(val_t self, int* init_table) {
21087 struct trace_t trace = {NULL, "parser::ReduceAction272::init (src/parser//parser.nit:11159,1--4)"};
21088 trace.prev = tracehead; tracehead = &trace;
21089 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction272].i]) return;
21090 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction272].i] = 1;
21091 tracehead = trace.prev;
21092 return;
21093 }
21094 void parser___ReduceAction273___action(val_t self, val_t param0) {
21095 struct trace_t trace = {NULL, "parser::ReduceAction273::action (src/parser//parser.nit:11163,2--11185:34)"};
21096 val_t variable0;
21097 val_t variable1;
21098 val_t variable2;
21099 val_t variable3;
21100 val_t variable4;
21101 val_t variable5;
21102 val_t variable6;
21103 val_t variable7;
21104 val_t variable8;
21105 val_t variable9;
21106 val_t variable10;
21107 val_t variable11;
21108 val_t variable12;
21109 trace.prev = tracehead; tracehead = &trace;
21110 variable0 = param0;
21111 variable1 = NIT_NULL /*null*/;
21112 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21113 variable2 = variable3;
21114 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21115 variable3 = variable4;
21116 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21117 variable4 = variable5;
21118 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21119 variable5 = variable6;
21120 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21121 variable6 = variable7;
21122 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21123 variable7 = variable8;
21124 variable8 = variable7 /*nodearraylist1*/;
21125 variable9 = TAG_Bool(( variable8 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
21126 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11173,6--32\n"); nit_exit(1);}
21127 variable9 = variable5 /*nodearraylist3*/;
21128 variable10 = TAG_Bool(( variable9 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21129 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11175,6--32\n"); nit_exit(1);}
21130 variable10 = variable2 /*nodearraylist6*/;
21131 variable11 = TAG_Bool(( variable10 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21132 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11177,6--32\n"); nit_exit(1);}
21133 variable12 = NEW_parser_prod___AIfExpr___init_aifexpr( variable8 /*tkwifnode2*/, variable9 /*pexprnode3*/, NIT_NULL /*null*/, variable10 /*pexprnode5*/); /*new AIfExpr*/
21134 variable11 = variable12;
21135 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
21136 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(32)) /*Parser::go_to*/;
21137 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
21138 tracehead = trace.prev;
21139 return;
21140 }
21141 void parser___ReduceAction273___init(val_t self, int* init_table) {
21142 struct trace_t trace = {NULL, "parser::ReduceAction273::init (src/parser//parser.nit:11187,1--4)"};
21143 trace.prev = tracehead; tracehead = &trace;
21144 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction273].i]) return;
21145 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction273].i] = 1;
21146 tracehead = trace.prev;
21147 return;
21148 }
21149 void parser___ReduceAction274___action(val_t self, val_t param0) {
21150 struct trace_t trace = {NULL, "parser::ReduceAction274::action (src/parser//parser.nit:11191,2--11214:34)"};
21151 val_t variable0;
21152 val_t variable1;
21153 val_t variable2;
21154 val_t variable3;
21155 val_t variable4;
21156 val_t variable5;
21157 val_t variable6;
21158 val_t variable7;
21159 val_t variable8;
21160 val_t variable9;
21161 val_t variable10;
21162 val_t variable11;
21163 val_t variable12;
21164 val_t variable13;
21165 trace.prev = tracehead; tracehead = &trace;
21166 variable0 = param0;
21167 variable1 = NIT_NULL /*null*/;
21168 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21169 variable2 = variable3;
21170 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21171 variable3 = variable4;
21172 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21173 variable4 = variable5;
21174 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21175 variable5 = variable6;
21176 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21177 variable6 = variable7;
21178 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21179 variable7 = variable8;
21180 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21181 variable8 = variable9;
21182 variable9 = variable8 /*nodearraylist1*/;
21183 variable10 = TAG_Bool(( variable9 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable9 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
21184 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11202,6--32\n"); nit_exit(1);}
21185 variable10 = variable6 /*nodearraylist3*/;
21186 variable11 = TAG_Bool(( variable10 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21187 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11204,6--32\n"); nit_exit(1);}
21188 variable11 = variable2 /*nodearraylist7*/;
21189 variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21190 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11206,6--32\n"); nit_exit(1);}
21191 variable13 = NEW_parser_prod___AIfExpr___init_aifexpr( variable9 /*tkwifnode2*/, variable10 /*pexprnode3*/, NIT_NULL /*null*/, variable11 /*pexprnode5*/); /*new AIfExpr*/
21192 variable12 = variable13;
21193 variable1 = variable12 /*pexprnode1*/ /*node_list=*/;
21194 variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(32)) /*Parser::go_to*/;
21195 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/;
21196 tracehead = trace.prev;
21197 return;
21198 }
21199 void parser___ReduceAction274___init(val_t self, int* init_table) {
21200 struct trace_t trace = {NULL, "parser::ReduceAction274::init (src/parser//parser.nit:11216,1--4)"};
21201 trace.prev = tracehead; tracehead = &trace;
21202 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction274].i]) return;
21203 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction274].i] = 1;
21204 tracehead = trace.prev;
21205 return;
21206 }
21207 void parser___ReduceAction275___action(val_t self, val_t param0) {
21208 struct trace_t trace = {NULL, "parser::ReduceAction275::action (src/parser//parser.nit:11220,2--11228:34)"};
21209 val_t variable0;
21210 val_t variable1;
21211 val_t variable2;
21212 val_t variable3;
21213 val_t variable4;
21214 val_t variable5;
21215 trace.prev = tracehead; tracehead = &trace;
21216 variable0 = param0;
21217 variable1 = NIT_NULL /*null*/;
21218 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21219 variable2 = variable3;
21220 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21221 variable3 = variable4;
21222 variable4 = variable2 /*nodearraylist2*/;
21223 variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21224 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11226,6--32\n"); nit_exit(1);}
21225 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
21226 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(33)) /*Parser::go_to*/;
21227 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
21228 tracehead = trace.prev;
21229 return;
21230 }
21231 void parser___ReduceAction275___init(val_t self, int* init_table) {
21232 struct trace_t trace = {NULL, "parser::ReduceAction275::init (src/parser//parser.nit:11230,1--4)"};
21233 trace.prev = tracehead; tracehead = &trace;
21234 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction275].i]) return;
21235 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction275].i] = 1;
21236 tracehead = trace.prev;
21237 return;
21238 }
21239 void parser___ReduceAction276___action(val_t self, val_t param0) {
21240 struct trace_t trace = {NULL, "parser::ReduceAction276::action (src/parser//parser.nit:11234,2--11239:34)"};
21241 val_t variable0;
21242 val_t variable1;
21243 val_t variable2;
21244 val_t variable3;
21245 trace.prev = tracehead; tracehead = &trace;
21246 variable0 = param0;
21247 variable1 = NIT_NULL /*null*/;
21248 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21249 variable2 = variable3;
21250 variable1 = NIT_NULL /*null*/ /*node_list=*/;
21251 variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(33)) /*Parser::go_to*/;
21252 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/;
21253 tracehead = trace.prev;
21254 return;
21255 }
21256 void parser___ReduceAction276___init(val_t self, int* init_table) {
21257 struct trace_t trace = {NULL, "parser::ReduceAction276::init (src/parser//parser.nit:11241,1--4)"};
21258 trace.prev = tracehead; tracehead = &trace;
21259 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction276].i]) return;
21260 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction276].i] = 1;
21261 tracehead = trace.prev;
21262 return;
21263 }
21264 void parser___ReduceAction277___action(val_t self, val_t param0) {
21265 struct trace_t trace = {NULL, "parser::ReduceAction277::action (src/parser//parser.nit:11245,2--11269:34)"};
21266 val_t variable0;
21267 val_t variable1;
21268 val_t variable2;
21269 val_t variable3;
21270 val_t variable4;
21271 val_t variable5;
21272 val_t variable6;
21273 val_t variable7;
21274 val_t variable8;
21275 val_t variable9;
21276 val_t variable10;
21277 val_t variable11;
21278 val_t variable12;
21279 val_t variable13;
21280 trace.prev = tracehead; tracehead = &trace;
21281 variable0 = param0;
21282 variable1 = NIT_NULL /*null*/;
21283 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21284 variable2 = variable3;
21285 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21286 variable3 = variable4;
21287 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21288 variable4 = variable5;
21289 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21290 variable5 = variable6;
21291 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21292 variable6 = variable7;
21293 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21294 variable7 = variable8;
21295 variable8 = variable7 /*nodearraylist1*/;
21296 variable9 = TAG_Bool(( variable8 /*tkwwhilenode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwwhilenode2*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
21297 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11255,6--38\n"); nit_exit(1);}
21298 variable9 = variable5 /*nodearraylist3*/;
21299 variable10 = TAG_Bool(( variable9 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21300 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11257,6--32\n"); nit_exit(1);}
21301 variable10 = variable3 /*nodearraylist5*/;
21302 variable11 = TAG_Bool(( variable10 /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
21303 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11259,6--32\n"); nit_exit(1);}
21304 variable11 = variable2 /*nodearraylist6*/;
21305 variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21306 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11261,6--32\n"); nit_exit(1);}
21307 variable13 = NEW_parser_prod___AWhileExpr___init_awhileexpr( variable8 /*tkwwhilenode2*/, variable9 /*pexprnode3*/, variable10 /*tkwdonode4*/, variable11 /*pexprnode5*/); /*new AWhileExpr*/
21308 variable12 = variable13;
21309 variable1 = variable12 /*pexprnode1*/ /*node_list=*/;
21310 variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(34)) /*Parser::go_to*/;
21311 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/;
21312 tracehead = trace.prev;
21313 return;
21314 }
21315 void parser___ReduceAction277___init(val_t self, int* init_table) {
21316 struct trace_t trace = {NULL, "parser::ReduceAction277::init (src/parser//parser.nit:11271,1--4)"};
21317 trace.prev = tracehead; tracehead = &trace;
21318 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction277].i]) return;
21319 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction277].i] = 1;
21320 tracehead = trace.prev;
21321 return;
21322 }
21323 void parser___ReduceAction278___action(val_t self, val_t param0) {
21324 struct trace_t trace = {NULL, "parser::ReduceAction278::action (src/parser//parser.nit:11275,2--11294:34)"};
21325 val_t variable0;
21326 val_t variable1;
21327 val_t variable2;
21328 val_t variable3;
21329 val_t variable4;
21330 val_t variable5;
21331 val_t variable6;
21332 val_t variable7;
21333 val_t variable8;
21334 val_t variable9;
21335 val_t variable10;
21336 trace.prev = tracehead; tracehead = &trace;
21337 variable0 = param0;
21338 variable1 = NIT_NULL /*null*/;
21339 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21340 variable2 = variable3;
21341 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21342 variable3 = variable4;
21343 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21344 variable4 = variable5;
21345 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21346 variable5 = variable6;
21347 variable6 = variable5 /*nodearraylist1*/;
21348 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21349 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11283,6--32\n"); nit_exit(1);}
21350 variable7 = variable3 /*nodearraylist3*/;
21351 variable8 = TAG_Bool(( variable7 /*tkwdonode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwdonode3*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
21352 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11285,6--32\n"); nit_exit(1);}
21353 variable8 = variable2 /*nodearraylist4*/;
21354 variable9 = TAG_Bool(( variable8 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21355 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11287,6--32\n"); nit_exit(1);}
21356 variable10 = NEW_parser_prod___AForExpr___init_aforexpr( variable6 /*pexprnode2*/, variable7 /*tkwdonode3*/, variable8 /*pexprnode4*/); /*new AForExpr*/
21357 variable9 = variable10;
21358 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
21359 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(35)) /*Parser::go_to*/;
21360 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
21361 tracehead = trace.prev;
21362 return;
21363 }
21364 void parser___ReduceAction278___init(val_t self, int* init_table) {
21365 struct trace_t trace = {NULL, "parser::ReduceAction278::init (src/parser//parser.nit:11296,1--4)"};
21366 trace.prev = tracehead; tracehead = &trace;
21367 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction278].i]) return;
21368 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction278].i] = 1;
21369 tracehead = trace.prev;
21370 return;
21371 }
21372 void parser___ReduceAction279___action(val_t self, val_t param0) {
21373 struct trace_t trace = {NULL, "parser::ReduceAction279::action (src/parser//parser.nit:11300,2--11322:34)"};
21374 val_t variable0;
21375 val_t variable1;
21376 val_t variable2;
21377 val_t variable3;
21378 val_t variable4;
21379 val_t variable5;
21380 val_t variable6;
21381 val_t variable7;
21382 val_t variable8;
21383 val_t variable9;
21384 val_t variable10;
21385 val_t variable11;
21386 val_t variable12;
21387 val_t variable13;
21388 trace.prev = tracehead; tracehead = &trace;
21389 variable0 = param0;
21390 variable1 = NIT_NULL /*null*/;
21391 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21392 variable2 = variable3;
21393 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21394 variable3 = variable4;
21395 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21396 variable4 = variable5;
21397 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21398 variable5 = variable6;
21399 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21400 variable6 = variable7;
21401 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21402 variable7 = variable8;
21403 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21404 variable8 = variable9;
21405 variable9 = variable8 /*nodearraylist1*/;
21406 variable10 = TAG_Bool(( variable9 /*tkwfornode2*/==NIT_NULL) || VAL_ISA( variable9 /*tkwfornode2*/, COLOR_TKwfor, ID_TKwfor)) /*cast TKwfor*/;
21407 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11311,6--34\n"); nit_exit(1);}
21408 variable10 = variable6 /*nodearraylist3*/;
21409 variable11 = TAG_Bool(( variable10 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable10 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
21410 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11313,6--28\n"); nit_exit(1);}
21411 variable11 = variable2 /*nodearraylist7*/;
21412 variable12 = TAG_Bool(( variable11 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21413 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11315,6--32\n"); nit_exit(1);}
21414 variable13 = NEW_parser_prod___AForVardeclExpr___init_aforvardeclexpr( variable9 /*tkwfornode2*/, variable10 /*tidnode3*/, variable11 /*pexprnode4*/); /*new AForVardeclExpr*/
21415 variable12 = variable13;
21416 variable1 = variable12 /*pexprnode1*/ /*node_list=*/;
21417 variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(36)) /*Parser::go_to*/;
21418 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/;
21419 tracehead = trace.prev;
21420 return;
21421 }
21422 void parser___ReduceAction279___init(val_t self, int* init_table) {
21423 struct trace_t trace = {NULL, "parser::ReduceAction279::init (src/parser//parser.nit:11324,1--4)"};
21424 trace.prev = tracehead; tracehead = &trace;
21425 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction279].i]) return;
21426 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction279].i] = 1;
21427 tracehead = trace.prev;
21428 return;
21429 }
21430 void parser___ReduceAction280___action(val_t self, val_t param0) {
21431 struct trace_t trace = {NULL, "parser::ReduceAction280::action (src/parser//parser.nit:11328,2--11343:34)"};
21432 val_t variable0;
21433 val_t variable1;
21434 val_t variable2;
21435 val_t variable3;
21436 val_t variable4;
21437 val_t variable5;
21438 val_t variable6;
21439 val_t variable7;
21440 trace.prev = tracehead; tracehead = &trace;
21441 variable0 = param0;
21442 variable1 = NIT_NULL /*null*/;
21443 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21444 variable2 = variable3;
21445 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21446 variable3 = variable4;
21447 variable4 = variable3 /*nodearraylist1*/;
21448 variable5 = TAG_Bool(( variable4 /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
21449 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11334,6--40\n"); nit_exit(1);}
21450 variable5 = variable2 /*nodearraylist2*/;
21451 variable6 = TAG_Bool(( variable5 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21452 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11336,6--32\n"); nit_exit(1);}
21453 variable7 = NEW_parser_prod___AAssertExpr___init_aassertexpr( variable4 /*tkwassertnode2*/, NIT_NULL /*null*/, variable5 /*pexprnode4*/); /*new AAssertExpr*/
21454 variable6 = variable7;
21455 variable1 = variable6 /*pexprnode1*/ /*node_list=*/;
21456 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(37)) /*Parser::go_to*/;
21457 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
21458 tracehead = trace.prev;
21459 return;
21460 }
21461 void parser___ReduceAction280___init(val_t self, int* init_table) {
21462 struct trace_t trace = {NULL, "parser::ReduceAction280::init (src/parser//parser.nit:11345,1--4)"};
21463 trace.prev = tracehead; tracehead = &trace;
21464 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction280].i]) return;
21465 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction280].i] = 1;
21466 tracehead = trace.prev;
21467 return;
21468 }
21469 void parser___ReduceAction281___action(val_t self, val_t param0) {
21470 struct trace_t trace = {NULL, "parser::ReduceAction281::action (src/parser//parser.nit:11349,2--11367:34)"};
21471 val_t variable0;
21472 val_t variable1;
21473 val_t variable2;
21474 val_t variable3;
21475 val_t variable4;
21476 val_t variable5;
21477 val_t variable6;
21478 val_t variable7;
21479 val_t variable8;
21480 val_t variable9;
21481 trace.prev = tracehead; tracehead = &trace;
21482 variable0 = param0;
21483 variable1 = NIT_NULL /*null*/;
21484 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21485 variable2 = variable3;
21486 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21487 variable3 = variable4;
21488 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21489 variable4 = variable5;
21490 variable5 = variable4 /*nodearraylist1*/;
21491 variable6 = TAG_Bool(( variable5 /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
21492 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11356,6--40\n"); nit_exit(1);}
21493 variable6 = variable3 /*nodearraylist2*/;
21494 variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
21495 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11358,6--28\n"); nit_exit(1);}
21496 variable7 = variable2 /*nodearraylist3*/;
21497 variable8 = TAG_Bool(( variable7 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21498 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11360,6--32\n"); nit_exit(1);}
21499 variable9 = NEW_parser_prod___AAssertExpr___init_aassertexpr( variable5 /*tkwassertnode2*/, variable6 /*tidnode3*/, variable7 /*pexprnode4*/); /*new AAssertExpr*/
21500 variable8 = variable9;
21501 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
21502 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(37)) /*Parser::go_to*/;
21503 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
21504 tracehead = trace.prev;
21505 return;
21506 }
21507 void parser___ReduceAction281___init(val_t self, int* init_table) {
21508 struct trace_t trace = {NULL, "parser::ReduceAction281::init (src/parser//parser.nit:11369,1--4)"};
21509 trace.prev = tracehead; tracehead = &trace;
21510 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction281].i]) return;
21511 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction281].i] = 1;
21512 tracehead = trace.prev;
21513 return;
21514 }
21515 void parser___ReduceAction282___action(val_t self, val_t param0) {
21516 struct trace_t trace = {NULL, "parser::ReduceAction282::action (src/parser//parser.nit:11373,2--11381:34)"};
21517 val_t variable0;
21518 val_t variable1;
21519 val_t variable2;
21520 val_t variable3;
21521 val_t variable4;
21522 val_t variable5;
21523 trace.prev = tracehead; tracehead = &trace;
21524 variable0 = param0;
21525 variable1 = NIT_NULL /*null*/;
21526 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21527 variable2 = variable3;
21528 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21529 variable3 = variable4;
21530 variable4 = variable3 /*nodearraylist1*/;
21531 variable5 = TAG_Bool(( variable4 /*tidnode1*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
21532 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11379,6--28\n"); nit_exit(1);}
21533 variable1 = variable4 /*tidnode1*/ /*node_list=*/;
21534 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(38)) /*Parser::go_to*/;
21535 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
21536 tracehead = trace.prev;
21537 return;
21538 }
21539 void parser___ReduceAction282___init(val_t self, int* init_table) {
21540 struct trace_t trace = {NULL, "parser::ReduceAction282::init (src/parser//parser.nit:11383,1--4)"};
21541 trace.prev = tracehead; tracehead = &trace;
21542 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction282].i]) return;
21543 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction282].i] = 1;
21544 tracehead = trace.prev;
21545 return;
21546 }
21547 void parser___ReduceAction283___action(val_t self, val_t param0) {
21548 struct trace_t trace = {NULL, "parser::ReduceAction283::action (src/parser//parser.nit:11387,2--11394:34)"};
21549 val_t variable0;
21550 val_t variable1;
21551 val_t variable2;
21552 val_t variable3;
21553 val_t variable4;
21554 trace.prev = tracehead; tracehead = &trace;
21555 variable0 = param0;
21556 variable1 = NIT_NULL /*null*/;
21557 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21558 variable2 = variable3;
21559 variable3 = variable2 /*nodearraylist1*/;
21560 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21561 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11392,6--32\n"); nit_exit(1);}
21562 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
21563 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(39)) /*Parser::go_to*/;
21564 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
21565 tracehead = trace.prev;
21566 return;
21567 }
21568 void parser___ReduceAction283___init(val_t self, int* init_table) {
21569 struct trace_t trace = {NULL, "parser::ReduceAction283::init (src/parser//parser.nit:11396,1--4)"};
21570 trace.prev = tracehead; tracehead = &trace;
21571 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction283].i]) return;
21572 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction283].i] = 1;
21573 tracehead = trace.prev;
21574 return;
21575 }
21576 void parser___ReduceAction284___action(val_t self, val_t param0) {
21577 struct trace_t trace = {NULL, "parser::ReduceAction284::action (src/parser//parser.nit:11400,2--11435:34)"};
21578 val_t variable0;
21579 val_t variable1;
21580 val_t variable2;
21581 val_t variable3;
21582 val_t variable4;
21583 val_t variable5;
21584 val_t variable6;
21585 val_t variable7;
21586 val_t variable8;
21587 val_t variable9;
21588 val_t variable10;
21589 val_t variable11;
21590 val_t variable12;
21591 val_t variable13;
21592 val_t variable14;
21593 val_t variable15;
21594 val_t variable16;
21595 val_t variable17;
21596 val_t variable18;
21597 val_t variable19;
21598 val_t variable20;
21599 trace.prev = tracehead; tracehead = &trace;
21600 variable0 = param0;
21601 variable1 = NIT_NULL /*null*/;
21602 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21603 variable2 = variable3;
21604 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21605 variable3 = variable4;
21606 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21607 variable4 = variable5;
21608 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21609 variable5 = variable6;
21610 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21611 variable6 = variable7;
21612 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21613 variable7 = variable8;
21614 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21615 variable8 = variable9;
21616 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21617 variable9 = variable10;
21618 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21619 variable10 = variable11;
21620 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21621 variable11 = variable12;
21622 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21623 variable12 = variable13;
21624 variable13 = variable12 /*nodearraylist1*/;
21625 variable14 = TAG_Bool(( variable13 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable13 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
21626 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11415,6--32\n"); nit_exit(1);}
21627 variable14 = variable10 /*nodearraylist3*/;
21628 variable15 = TAG_Bool(( variable14 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21629 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11417,6--32\n"); nit_exit(1);}
21630 variable15 = variable8 /*nodearraylist5*/;
21631 variable16 = TAG_Bool(( variable15 /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
21632 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11419,6--36\n"); nit_exit(1);}
21633 variable16 = variable6 /*nodearraylist7*/;
21634 variable17 = TAG_Bool(( variable16 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21635 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11421,6--32\n"); nit_exit(1);}
21636 variable17 = variable4 /*nodearraylist9*/;
21637 variable18 = TAG_Bool(( variable17 /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable17 /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
21638 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11423,6--36\n"); nit_exit(1);}
21639 variable18 = variable2 /*nodearraylist11*/;
21640 variable19 = TAG_Bool(( variable18 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21641 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11425,6--32\n"); nit_exit(1);}
21642 variable20 = NEW_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/, variable14 /*pexprnode3*/, variable15 /*tkwthennode4*/, variable16 /*pexprnode5*/, variable17 /*tkwelsenode6*/, variable18 /*pexprnode7*/); /*new AIfexprExpr*/
21643 variable19 = variable20;
21644 variable1 = variable19 /*pexprnode1*/ /*node_list=*/;
21645 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(39)) /*Parser::go_to*/;
21646 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
21647 tracehead = trace.prev;
21648 return;
21649 }
21650 void parser___ReduceAction284___init(val_t self, int* init_table) {
21651 struct trace_t trace = {NULL, "parser::ReduceAction284::init (src/parser//parser.nit:11437,1--4)"};
21652 trace.prev = tracehead; tracehead = &trace;
21653 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction284].i]) return;
21654 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction284].i] = 1;
21655 tracehead = trace.prev;
21656 return;
21657 }
21658 void parser___ReduceAction285___action(val_t self, val_t param0) {
21659 struct trace_t trace = {NULL, "parser::ReduceAction285::action (src/parser//parser.nit:11441,2--11448:34)"};
21660 val_t variable0;
21661 val_t variable1;
21662 val_t variable2;
21663 val_t variable3;
21664 val_t variable4;
21665 trace.prev = tracehead; tracehead = &trace;
21666 variable0 = param0;
21667 variable1 = NIT_NULL /*null*/;
21668 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21669 variable2 = variable3;
21670 variable3 = variable2 /*nodearraylist1*/;
21671 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21672 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11446,6--32\n"); nit_exit(1);}
21673 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
21674 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(40)) /*Parser::go_to*/;
21675 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
21676 tracehead = trace.prev;
21677 return;
21678 }
21679 void parser___ReduceAction285___init(val_t self, int* init_table) {
21680 struct trace_t trace = {NULL, "parser::ReduceAction285::init (src/parser//parser.nit:11450,1--4)"};
21681 trace.prev = tracehead; tracehead = &trace;
21682 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction285].i]) return;
21683 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction285].i] = 1;
21684 tracehead = trace.prev;
21685 return;
21686 }
21687 void parser___ReduceAction286___action(val_t self, val_t param0) {
21688 struct trace_t trace = {NULL, "parser::ReduceAction286::action (src/parser//parser.nit:11454,2--11470:34)"};
21689 val_t variable0;
21690 val_t variable1;
21691 val_t variable2;
21692 val_t variable3;
21693 val_t variable4;
21694 val_t variable5;
21695 val_t variable6;
21696 val_t variable7;
21697 val_t variable8;
21698 val_t variable9;
21699 trace.prev = tracehead; tracehead = &trace;
21700 variable0 = param0;
21701 variable1 = NIT_NULL /*null*/;
21702 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21703 variable2 = variable3;
21704 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21705 variable3 = variable4;
21706 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21707 variable4 = variable5;
21708 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21709 variable5 = variable6;
21710 variable6 = variable5 /*nodearraylist1*/;
21711 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21712 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11462,6--32\n"); nit_exit(1);}
21713 variable7 = variable2 /*nodearraylist4*/;
21714 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21715 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11464,6--32\n"); nit_exit(1);}
21716 variable9 = NEW_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AOrExpr*/
21717 variable8 = variable9;
21718 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
21719 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(40)) /*Parser::go_to*/;
21720 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
21721 tracehead = trace.prev;
21722 return;
21723 }
21724 void parser___ReduceAction286___init(val_t self, int* init_table) {
21725 struct trace_t trace = {NULL, "parser::ReduceAction286::init (src/parser//parser.nit:11472,1--4)"};
21726 trace.prev = tracehead; tracehead = &trace;
21727 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction286].i]) return;
21728 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction286].i] = 1;
21729 tracehead = trace.prev;
21730 return;
21731 }
21732 void parser___ReduceAction287___action(val_t self, val_t param0) {
21733 struct trace_t trace = {NULL, "parser::ReduceAction287::action (src/parser//parser.nit:11476,2--11492:34)"};
21734 val_t variable0;
21735 val_t variable1;
21736 val_t variable2;
21737 val_t variable3;
21738 val_t variable4;
21739 val_t variable5;
21740 val_t variable6;
21741 val_t variable7;
21742 val_t variable8;
21743 val_t variable9;
21744 trace.prev = tracehead; tracehead = &trace;
21745 variable0 = param0;
21746 variable1 = NIT_NULL /*null*/;
21747 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21748 variable2 = variable3;
21749 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21750 variable3 = variable4;
21751 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21752 variable4 = variable5;
21753 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21754 variable5 = variable6;
21755 variable6 = variable5 /*nodearraylist1*/;
21756 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21757 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11484,6--32\n"); nit_exit(1);}
21758 variable7 = variable2 /*nodearraylist4*/;
21759 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21760 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11486,6--32\n"); nit_exit(1);}
21761 variable9 = NEW_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AAndExpr*/
21762 variable8 = variable9;
21763 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
21764 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(40)) /*Parser::go_to*/;
21765 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
21766 tracehead = trace.prev;
21767 return;
21768 }
21769 void parser___ReduceAction287___init(val_t self, int* init_table) {
21770 struct trace_t trace = {NULL, "parser::ReduceAction287::init (src/parser//parser.nit:11494,1--4)"};
21771 trace.prev = tracehead; tracehead = &trace;
21772 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction287].i]) return;
21773 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction287].i] = 1;
21774 tracehead = trace.prev;
21775 return;
21776 }
21777 void parser___ReduceAction288___action(val_t self, val_t param0) {
21778 struct trace_t trace = {NULL, "parser::ReduceAction288::action (src/parser//parser.nit:11498,2--11505:34)"};
21779 val_t variable0;
21780 val_t variable1;
21781 val_t variable2;
21782 val_t variable3;
21783 val_t variable4;
21784 trace.prev = tracehead; tracehead = &trace;
21785 variable0 = param0;
21786 variable1 = NIT_NULL /*null*/;
21787 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21788 variable2 = variable3;
21789 variable3 = variable2 /*nodearraylist1*/;
21790 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21791 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11503,6--32\n"); nit_exit(1);}
21792 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
21793 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(41)) /*Parser::go_to*/;
21794 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
21795 tracehead = trace.prev;
21796 return;
21797 }
21798 void parser___ReduceAction288___init(val_t self, int* init_table) {
21799 struct trace_t trace = {NULL, "parser::ReduceAction288::init (src/parser//parser.nit:11507,1--4)"};
21800 trace.prev = tracehead; tracehead = &trace;
21801 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction288].i]) return;
21802 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction288].i] = 1;
21803 tracehead = trace.prev;
21804 return;
21805 }
21806 void parser___ReduceAction289___action(val_t self, val_t param0) {
21807 struct trace_t trace = {NULL, "parser::ReduceAction289::action (src/parser//parser.nit:11511,2--11526:34)"};
21808 val_t variable0;
21809 val_t variable1;
21810 val_t variable2;
21811 val_t variable3;
21812 val_t variable4;
21813 val_t variable5;
21814 val_t variable6;
21815 val_t variable7;
21816 val_t variable8;
21817 trace.prev = tracehead; tracehead = &trace;
21818 variable0 = param0;
21819 variable1 = NIT_NULL /*null*/;
21820 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21821 variable2 = variable3;
21822 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21823 variable3 = variable4;
21824 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21825 variable4 = variable5;
21826 variable5 = variable4 /*nodearraylist1*/;
21827 variable6 = TAG_Bool(( variable5 /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
21828 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11518,6--34\n"); nit_exit(1);}
21829 variable6 = variable2 /*nodearraylist3*/;
21830 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21831 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11520,6--32\n"); nit_exit(1);}
21832 variable8 = NEW_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/, variable6 /*pexprnode3*/); /*new ANotExpr*/
21833 variable7 = variable8;
21834 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
21835 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(41)) /*Parser::go_to*/;
21836 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
21837 tracehead = trace.prev;
21838 return;
21839 }
21840 void parser___ReduceAction289___init(val_t self, int* init_table) {
21841 struct trace_t trace = {NULL, "parser::ReduceAction289::init (src/parser//parser.nit:11528,1--4)"};
21842 trace.prev = tracehead; tracehead = &trace;
21843 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction289].i]) return;
21844 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction289].i] = 1;
21845 tracehead = trace.prev;
21846 return;
21847 }
21848 void parser___ReduceAction290___action(val_t self, val_t param0) {
21849 struct trace_t trace = {NULL, "parser::ReduceAction290::action (src/parser//parser.nit:11532,2--11539:34)"};
21850 val_t variable0;
21851 val_t variable1;
21852 val_t variable2;
21853 val_t variable3;
21854 val_t variable4;
21855 trace.prev = tracehead; tracehead = &trace;
21856 variable0 = param0;
21857 variable1 = NIT_NULL /*null*/;
21858 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21859 variable2 = variable3;
21860 variable3 = variable2 /*nodearraylist1*/;
21861 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21862 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11537,6--32\n"); nit_exit(1);}
21863 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
21864 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/;
21865 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
21866 tracehead = trace.prev;
21867 return;
21868 }
21869 void parser___ReduceAction290___init(val_t self, int* init_table) {
21870 struct trace_t trace = {NULL, "parser::ReduceAction290::init (src/parser//parser.nit:11541,1--4)"};
21871 trace.prev = tracehead; tracehead = &trace;
21872 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction290].i]) return;
21873 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction290].i] = 1;
21874 tracehead = trace.prev;
21875 return;
21876 }
21877 void parser___ReduceAction291___action(val_t self, val_t param0) {
21878 struct trace_t trace = {NULL, "parser::ReduceAction291::action (src/parser//parser.nit:11545,2--11561:34)"};
21879 val_t variable0;
21880 val_t variable1;
21881 val_t variable2;
21882 val_t variable3;
21883 val_t variable4;
21884 val_t variable5;
21885 val_t variable6;
21886 val_t variable7;
21887 val_t variable8;
21888 val_t variable9;
21889 trace.prev = tracehead; tracehead = &trace;
21890 variable0 = param0;
21891 variable1 = NIT_NULL /*null*/;
21892 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21893 variable2 = variable3;
21894 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21895 variable3 = variable4;
21896 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21897 variable4 = variable5;
21898 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21899 variable5 = variable6;
21900 variable6 = variable5 /*nodearraylist1*/;
21901 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21902 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11553,6--32\n"); nit_exit(1);}
21903 variable7 = variable2 /*nodearraylist4*/;
21904 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21905 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11555,6--32\n"); nit_exit(1);}
21906 variable9 = NEW_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEqExpr*/
21907 variable8 = variable9;
21908 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
21909 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/;
21910 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
21911 tracehead = trace.prev;
21912 return;
21913 }
21914 void parser___ReduceAction291___init(val_t self, int* init_table) {
21915 struct trace_t trace = {NULL, "parser::ReduceAction291::init (src/parser//parser.nit:11563,1--4)"};
21916 trace.prev = tracehead; tracehead = &trace;
21917 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction291].i]) return;
21918 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction291].i] = 1;
21919 tracehead = trace.prev;
21920 return;
21921 }
21922 void parser___ReduceAction292___action(val_t self, val_t param0) {
21923 struct trace_t trace = {NULL, "parser::ReduceAction292::action (src/parser//parser.nit:11567,2--11583:34)"};
21924 val_t variable0;
21925 val_t variable1;
21926 val_t variable2;
21927 val_t variable3;
21928 val_t variable4;
21929 val_t variable5;
21930 val_t variable6;
21931 val_t variable7;
21932 val_t variable8;
21933 val_t variable9;
21934 trace.prev = tracehead; tracehead = &trace;
21935 variable0 = param0;
21936 variable1 = NIT_NULL /*null*/;
21937 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21938 variable2 = variable3;
21939 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21940 variable3 = variable4;
21941 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21942 variable4 = variable5;
21943 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21944 variable5 = variable6;
21945 variable6 = variable5 /*nodearraylist1*/;
21946 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21947 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11575,6--32\n"); nit_exit(1);}
21948 variable7 = variable2 /*nodearraylist4*/;
21949 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21950 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11577,6--32\n"); nit_exit(1);}
21951 variable9 = NEW_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEeExpr*/
21952 variable8 = variable9;
21953 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
21954 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/;
21955 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
21956 tracehead = trace.prev;
21957 return;
21958 }
21959 void parser___ReduceAction292___init(val_t self, int* init_table) {
21960 struct trace_t trace = {NULL, "parser::ReduceAction292::init (src/parser//parser.nit:11585,1--4)"};
21961 trace.prev = tracehead; tracehead = &trace;
21962 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction292].i]) return;
21963 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction292].i] = 1;
21964 tracehead = trace.prev;
21965 return;
21966 }
21967 void parser___ReduceAction293___action(val_t self, val_t param0) {
21968 struct trace_t trace = {NULL, "parser::ReduceAction293::action (src/parser//parser.nit:11589,2--11605:34)"};
21969 val_t variable0;
21970 val_t variable1;
21971 val_t variable2;
21972 val_t variable3;
21973 val_t variable4;
21974 val_t variable5;
21975 val_t variable6;
21976 val_t variable7;
21977 val_t variable8;
21978 val_t variable9;
21979 trace.prev = tracehead; tracehead = &trace;
21980 variable0 = param0;
21981 variable1 = NIT_NULL /*null*/;
21982 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21983 variable2 = variable3;
21984 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21985 variable3 = variable4;
21986 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21987 variable4 = variable5;
21988 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
21989 variable5 = variable6;
21990 variable6 = variable5 /*nodearraylist1*/;
21991 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21992 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11597,6--32\n"); nit_exit(1);}
21993 variable7 = variable2 /*nodearraylist4*/;
21994 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21995 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11599,6--32\n"); nit_exit(1);}
21996 variable9 = NEW_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ANeExpr*/
21997 variable8 = variable9;
21998 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
21999 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/;
22000 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22001 tracehead = trace.prev;
22002 return;
22003 }
22004 void parser___ReduceAction293___init(val_t self, int* init_table) {
22005 struct trace_t trace = {NULL, "parser::ReduceAction293::init (src/parser//parser.nit:11607,1--4)"};
22006 trace.prev = tracehead; tracehead = &trace;
22007 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction293].i]) return;
22008 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction293].i] = 1;
22009 tracehead = trace.prev;
22010 return;
22011 }
22012 void parser___ReduceAction294___action(val_t self, val_t param0) {
22013 struct trace_t trace = {NULL, "parser::ReduceAction294::action (src/parser//parser.nit:11611,2--11627:34)"};
22014 val_t variable0;
22015 val_t variable1;
22016 val_t variable2;
22017 val_t variable3;
22018 val_t variable4;
22019 val_t variable5;
22020 val_t variable6;
22021 val_t variable7;
22022 val_t variable8;
22023 val_t variable9;
22024 trace.prev = tracehead; tracehead = &trace;
22025 variable0 = param0;
22026 variable1 = NIT_NULL /*null*/;
22027 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22028 variable2 = variable3;
22029 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22030 variable3 = variable4;
22031 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22032 variable4 = variable5;
22033 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22034 variable5 = variable6;
22035 variable6 = variable5 /*nodearraylist1*/;
22036 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22037 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11619,6--32\n"); nit_exit(1);}
22038 variable7 = variable2 /*nodearraylist4*/;
22039 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22040 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11621,6--32\n"); nit_exit(1);}
22041 variable9 = NEW_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALtExpr*/
22042 variable8 = variable9;
22043 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22044 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/;
22045 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22046 tracehead = trace.prev;
22047 return;
22048 }
22049 void parser___ReduceAction294___init(val_t self, int* init_table) {
22050 struct trace_t trace = {NULL, "parser::ReduceAction294::init (src/parser//parser.nit:11629,1--4)"};
22051 trace.prev = tracehead; tracehead = &trace;
22052 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction294].i]) return;
22053 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction294].i] = 1;
22054 tracehead = trace.prev;
22055 return;
22056 }
22057 void parser___ReduceAction295___action(val_t self, val_t param0) {
22058 struct trace_t trace = {NULL, "parser::ReduceAction295::action (src/parser//parser.nit:11633,2--11649:34)"};
22059 val_t variable0;
22060 val_t variable1;
22061 val_t variable2;
22062 val_t variable3;
22063 val_t variable4;
22064 val_t variable5;
22065 val_t variable6;
22066 val_t variable7;
22067 val_t variable8;
22068 val_t variable9;
22069 trace.prev = tracehead; tracehead = &trace;
22070 variable0 = param0;
22071 variable1 = NIT_NULL /*null*/;
22072 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22073 variable2 = variable3;
22074 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22075 variable3 = variable4;
22076 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22077 variable4 = variable5;
22078 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22079 variable5 = variable6;
22080 variable6 = variable5 /*nodearraylist1*/;
22081 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22082 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11641,6--32\n"); nit_exit(1);}
22083 variable7 = variable2 /*nodearraylist4*/;
22084 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22085 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11643,6--32\n"); nit_exit(1);}
22086 variable9 = NEW_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALeExpr*/
22087 variable8 = variable9;
22088 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22089 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/;
22090 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22091 tracehead = trace.prev;
22092 return;
22093 }
22094 void parser___ReduceAction295___init(val_t self, int* init_table) {
22095 struct trace_t trace = {NULL, "parser::ReduceAction295::init (src/parser//parser.nit:11651,1--4)"};
22096 trace.prev = tracehead; tracehead = &trace;
22097 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction295].i]) return;
22098 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction295].i] = 1;
22099 tracehead = trace.prev;
22100 return;
22101 }
22102 void parser___ReduceAction296___action(val_t self, val_t param0) {
22103 struct trace_t trace = {NULL, "parser::ReduceAction296::action (src/parser//parser.nit:11655,2--11671:34)"};
22104 val_t variable0;
22105 val_t variable1;
22106 val_t variable2;
22107 val_t variable3;
22108 val_t variable4;
22109 val_t variable5;
22110 val_t variable6;
22111 val_t variable7;
22112 val_t variable8;
22113 val_t variable9;
22114 trace.prev = tracehead; tracehead = &trace;
22115 variable0 = param0;
22116 variable1 = NIT_NULL /*null*/;
22117 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22118 variable2 = variable3;
22119 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22120 variable3 = variable4;
22121 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22122 variable4 = variable5;
22123 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22124 variable5 = variable6;
22125 variable6 = variable5 /*nodearraylist1*/;
22126 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22127 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11663,6--32\n"); nit_exit(1);}
22128 variable7 = variable2 /*nodearraylist4*/;
22129 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22130 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11665,6--32\n"); nit_exit(1);}
22131 variable9 = NEW_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGtExpr*/
22132 variable8 = variable9;
22133 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22134 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/;
22135 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22136 tracehead = trace.prev;
22137 return;
22138 }
22139 void parser___ReduceAction296___init(val_t self, int* init_table) {
22140 struct trace_t trace = {NULL, "parser::ReduceAction296::init (src/parser//parser.nit:11673,1--4)"};
22141 trace.prev = tracehead; tracehead = &trace;
22142 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction296].i]) return;
22143 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction296].i] = 1;
22144 tracehead = trace.prev;
22145 return;
22146 }
22147 void parser___ReduceAction297___action(val_t self, val_t param0) {
22148 struct trace_t trace = {NULL, "parser::ReduceAction297::action (src/parser//parser.nit:11677,2--11693:34)"};
22149 val_t variable0;
22150 val_t variable1;
22151 val_t variable2;
22152 val_t variable3;
22153 val_t variable4;
22154 val_t variable5;
22155 val_t variable6;
22156 val_t variable7;
22157 val_t variable8;
22158 val_t variable9;
22159 trace.prev = tracehead; tracehead = &trace;
22160 variable0 = param0;
22161 variable1 = NIT_NULL /*null*/;
22162 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22163 variable2 = variable3;
22164 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22165 variable3 = variable4;
22166 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22167 variable4 = variable5;
22168 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22169 variable5 = variable6;
22170 variable6 = variable5 /*nodearraylist1*/;
22171 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22172 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11685,6--32\n"); nit_exit(1);}
22173 variable7 = variable2 /*nodearraylist4*/;
22174 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22175 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11687,6--32\n"); nit_exit(1);}
22176 variable9 = NEW_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGeExpr*/
22177 variable8 = variable9;
22178 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22179 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/;
22180 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22181 tracehead = trace.prev;
22182 return;
22183 }
22184 void parser___ReduceAction297___init(val_t self, int* init_table) {
22185 struct trace_t trace = {NULL, "parser::ReduceAction297::init (src/parser//parser.nit:11695,1--4)"};
22186 trace.prev = tracehead; tracehead = &trace;
22187 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction297].i]) return;
22188 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction297].i] = 1;
22189 tracehead = trace.prev;
22190 return;
22191 }
22192 void parser___ReduceAction298___action(val_t self, val_t param0) {
22193 struct trace_t trace = {NULL, "parser::ReduceAction298::action (src/parser//parser.nit:11699,2--11715:34)"};
22194 val_t variable0;
22195 val_t variable1;
22196 val_t variable2;
22197 val_t variable3;
22198 val_t variable4;
22199 val_t variable5;
22200 val_t variable6;
22201 val_t variable7;
22202 val_t variable8;
22203 val_t variable9;
22204 trace.prev = tracehead; tracehead = &trace;
22205 variable0 = param0;
22206 variable1 = NIT_NULL /*null*/;
22207 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22208 variable2 = variable3;
22209 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22210 variable3 = variable4;
22211 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22212 variable4 = variable5;
22213 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22214 variable5 = variable6;
22215 variable6 = variable5 /*nodearraylist1*/;
22216 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22217 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11707,6--32\n"); nit_exit(1);}
22218 variable7 = variable2 /*nodearraylist4*/;
22219 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22220 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11709,6--32\n"); nit_exit(1);}
22221 variable9 = NEW_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarshipExpr*/
22222 variable8 = variable9;
22223 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22224 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/;
22225 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22226 tracehead = trace.prev;
22227 return;
22228 }
22229 void parser___ReduceAction298___init(val_t self, int* init_table) {
22230 struct trace_t trace = {NULL, "parser::ReduceAction298::init (src/parser//parser.nit:11717,1--4)"};
22231 trace.prev = tracehead; tracehead = &trace;
22232 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction298].i]) return;
22233 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction298].i] = 1;
22234 tracehead = trace.prev;
22235 return;
22236 }
22237 void parser___ReduceAction299___action(val_t self, val_t param0) {
22238 struct trace_t trace = {NULL, "parser::ReduceAction299::action (src/parser//parser.nit:11721,2--11737:34)"};
22239 val_t variable0;
22240 val_t variable1;
22241 val_t variable2;
22242 val_t variable3;
22243 val_t variable4;
22244 val_t variable5;
22245 val_t variable6;
22246 val_t variable7;
22247 val_t variable8;
22248 val_t variable9;
22249 trace.prev = tracehead; tracehead = &trace;
22250 variable0 = param0;
22251 variable1 = NIT_NULL /*null*/;
22252 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22253 variable2 = variable3;
22254 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22255 variable3 = variable4;
22256 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22257 variable4 = variable5;
22258 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22259 variable5 = variable6;
22260 variable6 = variable5 /*nodearraylist1*/;
22261 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22262 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11729,6--32\n"); nit_exit(1);}
22263 variable7 = variable2 /*nodearraylist4*/;
22264 variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
22265 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11731,6--32\n"); nit_exit(1);}
22266 variable9 = NEW_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/, variable7 /*ptypenode3*/); /*new AIsaExpr*/
22267 variable8 = variable9;
22268 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22269 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/;
22270 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22271 tracehead = trace.prev;
22272 return;
22273 }
22274 void parser___ReduceAction299___init(val_t self, int* init_table) {
22275 struct trace_t trace = {NULL, "parser::ReduceAction299::init (src/parser//parser.nit:11739,1--4)"};
22276 trace.prev = tracehead; tracehead = &trace;
22277 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction299].i]) return;
22278 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction299].i] = 1;
22279 tracehead = trace.prev;
22280 return;
22281 }
22282 void parser___ReduceAction300___action(val_t self, val_t param0) {
22283 struct trace_t trace = {NULL, "parser::ReduceAction300::action (src/parser//parser.nit:11743,2--11750:34)"};
22284 val_t variable0;
22285 val_t variable1;
22286 val_t variable2;
22287 val_t variable3;
22288 val_t variable4;
22289 trace.prev = tracehead; tracehead = &trace;
22290 variable0 = param0;
22291 variable1 = NIT_NULL /*null*/;
22292 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22293 variable2 = variable3;
22294 variable3 = variable2 /*nodearraylist1*/;
22295 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22296 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11748,6--32\n"); nit_exit(1);}
22297 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
22298 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(43)) /*Parser::go_to*/;
22299 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
22300 tracehead = trace.prev;
22301 return;
22302 }
22303 void parser___ReduceAction300___init(val_t self, int* init_table) {
22304 struct trace_t trace = {NULL, "parser::ReduceAction300::init (src/parser//parser.nit:11752,1--4)"};
22305 trace.prev = tracehead; tracehead = &trace;
22306 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction300].i]) return;
22307 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction300].i] = 1;
22308 tracehead = trace.prev;
22309 return;
22310 }
22311 void parser___ReduceAction301___action(val_t self, val_t param0) {
22312 struct trace_t trace = {NULL, "parser::ReduceAction301::action (src/parser//parser.nit:11756,2--11772:34)"};
22313 val_t variable0;
22314 val_t variable1;
22315 val_t variable2;
22316 val_t variable3;
22317 val_t variable4;
22318 val_t variable5;
22319 val_t variable6;
22320 val_t variable7;
22321 val_t variable8;
22322 val_t variable9;
22323 trace.prev = tracehead; tracehead = &trace;
22324 variable0 = param0;
22325 variable1 = NIT_NULL /*null*/;
22326 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22327 variable2 = variable3;
22328 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22329 variable3 = variable4;
22330 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22331 variable4 = variable5;
22332 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22333 variable5 = variable6;
22334 variable6 = variable5 /*nodearraylist1*/;
22335 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22336 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11764,6--32\n"); nit_exit(1);}
22337 variable7 = variable2 /*nodearraylist4*/;
22338 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22339 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11766,6--32\n"); nit_exit(1);}
22340 variable9 = NEW_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APlusExpr*/
22341 variable8 = variable9;
22342 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22343 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(43)) /*Parser::go_to*/;
22344 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22345 tracehead = trace.prev;
22346 return;
22347 }
22348 void parser___ReduceAction301___init(val_t self, int* init_table) {
22349 struct trace_t trace = {NULL, "parser::ReduceAction301::init (src/parser//parser.nit:11774,1--4)"};
22350 trace.prev = tracehead; tracehead = &trace;
22351 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction301].i]) return;
22352 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction301].i] = 1;
22353 tracehead = trace.prev;
22354 return;
22355 }
22356 void parser___ReduceAction302___action(val_t self, val_t param0) {
22357 struct trace_t trace = {NULL, "parser::ReduceAction302::action (src/parser//parser.nit:11778,2--11794:34)"};
22358 val_t variable0;
22359 val_t variable1;
22360 val_t variable2;
22361 val_t variable3;
22362 val_t variable4;
22363 val_t variable5;
22364 val_t variable6;
22365 val_t variable7;
22366 val_t variable8;
22367 val_t variable9;
22368 trace.prev = tracehead; tracehead = &trace;
22369 variable0 = param0;
22370 variable1 = NIT_NULL /*null*/;
22371 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22372 variable2 = variable3;
22373 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22374 variable3 = variable4;
22375 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22376 variable4 = variable5;
22377 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22378 variable5 = variable6;
22379 variable6 = variable5 /*nodearraylist1*/;
22380 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22381 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11786,6--32\n"); nit_exit(1);}
22382 variable7 = variable2 /*nodearraylist4*/;
22383 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22384 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11788,6--32\n"); nit_exit(1);}
22385 variable9 = NEW_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AMinusExpr*/
22386 variable8 = variable9;
22387 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22388 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(43)) /*Parser::go_to*/;
22389 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22390 tracehead = trace.prev;
22391 return;
22392 }
22393 void parser___ReduceAction302___init(val_t self, int* init_table) {
22394 struct trace_t trace = {NULL, "parser::ReduceAction302::init (src/parser//parser.nit:11796,1--4)"};
22395 trace.prev = tracehead; tracehead = &trace;
22396 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction302].i]) return;
22397 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction302].i] = 1;
22398 tracehead = trace.prev;
22399 return;
22400 }
22401 void parser___ReduceAction303___action(val_t self, val_t param0) {
22402 struct trace_t trace = {NULL, "parser::ReduceAction303::action (src/parser//parser.nit:11800,2--11807:34)"};
22403 val_t variable0;
22404 val_t variable1;
22405 val_t variable2;
22406 val_t variable3;
22407 val_t variable4;
22408 trace.prev = tracehead; tracehead = &trace;
22409 variable0 = param0;
22410 variable1 = NIT_NULL /*null*/;
22411 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22412 variable2 = variable3;
22413 variable3 = variable2 /*nodearraylist1*/;
22414 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22415 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11805,6--32\n"); nit_exit(1);}
22416 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
22417 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(44)) /*Parser::go_to*/;
22418 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
22419 tracehead = trace.prev;
22420 return;
22421 }
22422 void parser___ReduceAction303___init(val_t self, int* init_table) {
22423 struct trace_t trace = {NULL, "parser::ReduceAction303::init (src/parser//parser.nit:11809,1--4)"};
22424 trace.prev = tracehead; tracehead = &trace;
22425 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction303].i]) return;
22426 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction303].i] = 1;
22427 tracehead = trace.prev;
22428 return;
22429 }
22430 void parser___ReduceAction304___action(val_t self, val_t param0) {
22431 struct trace_t trace = {NULL, "parser::ReduceAction304::action (src/parser//parser.nit:11813,2--11829:34)"};
22432 val_t variable0;
22433 val_t variable1;
22434 val_t variable2;
22435 val_t variable3;
22436 val_t variable4;
22437 val_t variable5;
22438 val_t variable6;
22439 val_t variable7;
22440 val_t variable8;
22441 val_t variable9;
22442 trace.prev = tracehead; tracehead = &trace;
22443 variable0 = param0;
22444 variable1 = NIT_NULL /*null*/;
22445 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22446 variable2 = variable3;
22447 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22448 variable3 = variable4;
22449 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22450 variable4 = variable5;
22451 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22452 variable5 = variable6;
22453 variable6 = variable5 /*nodearraylist1*/;
22454 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22455 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11821,6--32\n"); nit_exit(1);}
22456 variable7 = variable2 /*nodearraylist4*/;
22457 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22458 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11823,6--32\n"); nit_exit(1);}
22459 variable9 = NEW_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarExpr*/
22460 variable8 = variable9;
22461 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22462 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(44)) /*Parser::go_to*/;
22463 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22464 tracehead = trace.prev;
22465 return;
22466 }
22467 void parser___ReduceAction304___init(val_t self, int* init_table) {
22468 struct trace_t trace = {NULL, "parser::ReduceAction304::init (src/parser//parser.nit:11831,1--4)"};
22469 trace.prev = tracehead; tracehead = &trace;
22470 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction304].i]) return;
22471 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction304].i] = 1;
22472 tracehead = trace.prev;
22473 return;
22474 }
22475 void parser___ReduceAction305___action(val_t self, val_t param0) {
22476 struct trace_t trace = {NULL, "parser::ReduceAction305::action (src/parser//parser.nit:11835,2--11851:34)"};
22477 val_t variable0;
22478 val_t variable1;
22479 val_t variable2;
22480 val_t variable3;
22481 val_t variable4;
22482 val_t variable5;
22483 val_t variable6;
22484 val_t variable7;
22485 val_t variable8;
22486 val_t variable9;
22487 trace.prev = tracehead; tracehead = &trace;
22488 variable0 = param0;
22489 variable1 = NIT_NULL /*null*/;
22490 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22491 variable2 = variable3;
22492 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22493 variable3 = variable4;
22494 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22495 variable4 = variable5;
22496 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22497 variable5 = variable6;
22498 variable6 = variable5 /*nodearraylist1*/;
22499 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22500 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11843,6--32\n"); nit_exit(1);}
22501 variable7 = variable2 /*nodearraylist4*/;
22502 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22503 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11845,6--32\n"); nit_exit(1);}
22504 variable9 = NEW_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ASlashExpr*/
22505 variable8 = variable9;
22506 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22507 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(44)) /*Parser::go_to*/;
22508 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22509 tracehead = trace.prev;
22510 return;
22511 }
22512 void parser___ReduceAction305___init(val_t self, int* init_table) {
22513 struct trace_t trace = {NULL, "parser::ReduceAction305::init (src/parser//parser.nit:11853,1--4)"};
22514 trace.prev = tracehead; tracehead = &trace;
22515 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction305].i]) return;
22516 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction305].i] = 1;
22517 tracehead = trace.prev;
22518 return;
22519 }
22520 void parser___ReduceAction306___action(val_t self, val_t param0) {
22521 struct trace_t trace = {NULL, "parser::ReduceAction306::action (src/parser//parser.nit:11857,2--11873:34)"};
22522 val_t variable0;
22523 val_t variable1;
22524 val_t variable2;
22525 val_t variable3;
22526 val_t variable4;
22527 val_t variable5;
22528 val_t variable6;
22529 val_t variable7;
22530 val_t variable8;
22531 val_t variable9;
22532 trace.prev = tracehead; tracehead = &trace;
22533 variable0 = param0;
22534 variable1 = NIT_NULL /*null*/;
22535 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22536 variable2 = variable3;
22537 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22538 variable3 = variable4;
22539 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22540 variable4 = variable5;
22541 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22542 variable5 = variable6;
22543 variable6 = variable5 /*nodearraylist1*/;
22544 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22545 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11865,6--32\n"); nit_exit(1);}
22546 variable7 = variable2 /*nodearraylist4*/;
22547 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22548 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11867,6--32\n"); nit_exit(1);}
22549 variable9 = NEW_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APercentExpr*/
22550 variable8 = variable9;
22551 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22552 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(44)) /*Parser::go_to*/;
22553 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22554 tracehead = trace.prev;
22555 return;
22556 }
22557 void parser___ReduceAction306___init(val_t self, int* init_table) {
22558 struct trace_t trace = {NULL, "parser::ReduceAction306::init (src/parser//parser.nit:11875,1--4)"};
22559 trace.prev = tracehead; tracehead = &trace;
22560 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction306].i]) return;
22561 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction306].i] = 1;
22562 tracehead = trace.prev;
22563 return;
22564 }
22565 void parser___ReduceAction307___action(val_t self, val_t param0) {
22566 struct trace_t trace = {NULL, "parser::ReduceAction307::action (src/parser//parser.nit:11879,2--11886:34)"};
22567 val_t variable0;
22568 val_t variable1;
22569 val_t variable2;
22570 val_t variable3;
22571 val_t variable4;
22572 trace.prev = tracehead; tracehead = &trace;
22573 variable0 = param0;
22574 variable1 = NIT_NULL /*null*/;
22575 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22576 variable2 = variable3;
22577 variable3 = variable2 /*nodearraylist1*/;
22578 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22579 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11884,6--32\n"); nit_exit(1);}
22580 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
22581 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(45)) /*Parser::go_to*/;
22582 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
22583 tracehead = trace.prev;
22584 return;
22585 }
22586 void parser___ReduceAction307___init(val_t self, int* init_table) {
22587 struct trace_t trace = {NULL, "parser::ReduceAction307::init (src/parser//parser.nit:11888,1--4)"};
22588 trace.prev = tracehead; tracehead = &trace;
22589 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction307].i]) return;
22590 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction307].i] = 1;
22591 tracehead = trace.prev;
22592 return;
22593 }
22594 void parser___ReduceAction308___action(val_t self, val_t param0) {
22595 struct trace_t trace = {NULL, "parser::ReduceAction308::action (src/parser//parser.nit:11892,2--11907:34)"};
22596 val_t variable0;
22597 val_t variable1;
22598 val_t variable2;
22599 val_t variable3;
22600 val_t variable4;
22601 val_t variable5;
22602 val_t variable6;
22603 val_t variable7;
22604 val_t variable8;
22605 trace.prev = tracehead; tracehead = &trace;
22606 variable0 = param0;
22607 variable1 = NIT_NULL /*null*/;
22608 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22609 variable2 = variable3;
22610 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22611 variable3 = variable4;
22612 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22613 variable4 = variable5;
22614 variable5 = variable4 /*nodearraylist1*/;
22615 variable6 = TAG_Bool(( variable5 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
22616 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11899,6--34\n"); nit_exit(1);}
22617 variable6 = variable2 /*nodearraylist3*/;
22618 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22619 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11901,6--32\n"); nit_exit(1);}
22620 variable8 = NEW_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/, variable6 /*pexprnode3*/); /*new AUminusExpr*/
22621 variable7 = variable8;
22622 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
22623 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(45)) /*Parser::go_to*/;
22624 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
22625 tracehead = trace.prev;
22626 return;
22627 }
22628 void parser___ReduceAction308___init(val_t self, int* init_table) {
22629 struct trace_t trace = {NULL, "parser::ReduceAction308::init (src/parser//parser.nit:11909,1--4)"};
22630 trace.prev = tracehead; tracehead = &trace;
22631 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction308].i]) return;
22632 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction308].i] = 1;
22633 tracehead = trace.prev;
22634 return;
22635 }
22636 void parser___ReduceAction309___action(val_t self, val_t param0) {
22637 struct trace_t trace = {NULL, "parser::ReduceAction309::action (src/parser//parser.nit:11913,2--11928:34)"};
22638 val_t variable0;
22639 val_t variable1;
22640 val_t variable2;
22641 val_t variable3;
22642 val_t variable4;
22643 val_t variable5;
22644 val_t variable6;
22645 val_t variable7;
22646 val_t variable8;
22647 trace.prev = tracehead; tracehead = &trace;
22648 variable0 = param0;
22649 variable1 = NIT_NULL /*null*/;
22650 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22651 variable2 = variable3;
22652 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22653 variable3 = variable4;
22654 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22655 variable4 = variable5;
22656 variable5 = variable4 /*nodearraylist1*/;
22657 variable6 = TAG_Bool(( variable5 /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
22658 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11920,6--36\n"); nit_exit(1);}
22659 variable6 = variable2 /*nodearraylist3*/;
22660 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22661 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11922,6--32\n"); nit_exit(1);}
22662 variable8 = NEW_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/, variable6 /*pexprnode3*/); /*new AOnceExpr*/
22663 variable7 = variable8;
22664 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
22665 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(45)) /*Parser::go_to*/;
22666 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
22667 tracehead = trace.prev;
22668 return;
22669 }
22670 void parser___ReduceAction309___init(val_t self, int* init_table) {
22671 struct trace_t trace = {NULL, "parser::ReduceAction309::init (src/parser//parser.nit:11930,1--4)"};
22672 trace.prev = tracehead; tracehead = &trace;
22673 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction309].i]) return;
22674 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction309].i] = 1;
22675 tracehead = trace.prev;
22676 return;
22677 }
22678 void parser___ReduceAction310___action(val_t self, val_t param0) {
22679 struct trace_t trace = {NULL, "parser::ReduceAction310::action (src/parser//parser.nit:11934,2--11941:34)"};
22680 val_t variable0;
22681 val_t variable1;
22682 val_t variable2;
22683 val_t variable3;
22684 val_t variable4;
22685 trace.prev = tracehead; tracehead = &trace;
22686 variable0 = param0;
22687 variable1 = NIT_NULL /*null*/;
22688 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22689 variable2 = variable3;
22690 variable3 = variable2 /*nodearraylist1*/;
22691 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22692 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11939,6--32\n"); nit_exit(1);}
22693 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
22694 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(46)) /*Parser::go_to*/;
22695 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
22696 tracehead = trace.prev;
22697 return;
22698 }
22699 void parser___ReduceAction310___init(val_t self, int* init_table) {
22700 struct trace_t trace = {NULL, "parser::ReduceAction310::init (src/parser//parser.nit:11943,1--4)"};
22701 trace.prev = tracehead; tracehead = &trace;
22702 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction310].i]) return;
22703 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction310].i] = 1;
22704 tracehead = trace.prev;
22705 return;
22706 }
22707 void parser___ReduceAction311___action(val_t self, val_t param0) {
22708 struct trace_t trace = {NULL, "parser::ReduceAction311::action (src/parser//parser.nit:11947,2--11975:34)"};
22709 val_t variable0;
22710 val_t variable1;
22711 val_t variable2;
22712 val_t variable3;
22713 val_t variable4;
22714 val_t variable5;
22715 val_t variable6;
22716 val_t variable7;
22717 val_t variable8;
22718 val_t variable9;
22719 val_t variable10;
22720 val_t variable11;
22721 trace.prev = tracehead; tracehead = &trace;
22722 variable0 = param0;
22723 variable1 = NIT_NULL /*null*/;
22724 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22725 variable2 = variable3;
22726 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22727 variable3 = variable4;
22728 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22729 variable4 = variable5;
22730 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22731 variable5 = variable6;
22732 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
22733 variable6 = variable7;
22734 variable7 = variable5 /*nodearraylist1*/;
22735 variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
22736 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11956,6--34\n"); nit_exit(1);}
22737 variable8 = variable3 /*nodearraylist3*/;
22738 variable9 = TAG_Bool(( variable8 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable8 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
22739 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11958,6--32\n"); nit_exit(1);}
22740 variable9 = variable2 /*nodearraylist4*/;
22741 variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22742 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11960,6--38\n"); nit_exit(1);}
22743 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ == NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
22744 if (UNTAG_Bool(variable10)) { /*if*/
22745 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
22746 if (UNTAG_Bool(variable10)) { /*if*/
22747 variable6 = variable9 /*listnode5*/ /*listnode6=*/;
22748 } else { /*if*/
22749 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable9 /*listnode5*/) /*Array::append*/;
22750 }
22751 }
22752 variable11 = NEW_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/, variable8 /*ptypenode3*/, NIT_NULL /*null*/, variable6 /*listnode6*/); /*new ANewExpr*/
22753 variable10 = variable11;
22754 variable1 = variable10 /*pexprnode1*/ /*node_list=*/;
22755 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(46)) /*Parser::go_to*/;
22756 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
22757 tracehead = trace.prev;
22758 return;
22759 }
22760 void parser___ReduceAction311___init(val_t self, int* init_table) {
22761 struct trace_t trace = {NULL, "parser::ReduceAction311::init (src/parser//parser.nit:11977,1--4)"};
22762 trace.prev = tracehead; tracehead = &trace;
22763 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction311].i]) return;
22764 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction311].i] = 1;
22765 tracehead = trace.prev;
22766 return;
22767 }
22768 void parser___ReduceAction312___action(val_t self, val_t param0) {
22769 struct trace_t trace = {NULL, "parser::ReduceAction312::action (src/parser//parser.nit:11981,2--11997:34)"};
22770 val_t variable0;
22771 val_t variable1;
22772 val_t variable2;
22773 val_t variable3;
22774 val_t variable4;
22775 val_t variable5;
22776 val_t variable6;
22777 val_t variable7;
22778 val_t variable8;
22779 val_t variable9;
22780 trace.prev = tracehead; tracehead = &trace;
22781 variable0 = param0;
22782 variable1 = NIT_NULL /*null*/;
22783 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22784 variable2 = variable3;
22785 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22786 variable3 = variable4;
22787 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22788 variable4 = variable5;
22789 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22790 variable5 = variable6;
22791 variable6 = variable5 /*nodearraylist1*/;
22792 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22793 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11989,6--32\n"); nit_exit(1);}
22794 variable7 = variable2 /*nodearraylist4*/;
22795 variable8 = TAG_Bool(( variable7 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
22796 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11991,6--36\n"); nit_exit(1);}
22797 variable9 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable6 /*pexprnode2*/, variable7 /*tattridnode3*/); /*new AAttrExpr*/
22798 variable8 = variable9;
22799 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22800 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
22801 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22802 tracehead = trace.prev;
22803 return;
22804 }
22805 void parser___ReduceAction312___init(val_t self, int* init_table) {
22806 struct trace_t trace = {NULL, "parser::ReduceAction312::init (src/parser//parser.nit:11999,1--4)"};
22807 trace.prev = tracehead; tracehead = &trace;
22808 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction312].i]) return;
22809 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction312].i] = 1;
22810 tracehead = trace.prev;
22811 return;
22812 }
22813 void parser___ReduceAction313___action(val_t self, val_t param0) {
22814 struct trace_t trace = {NULL, "parser::ReduceAction313::action (src/parser//parser.nit:12003,2--12016:34)"};
22815 val_t variable0;
22816 val_t variable1;
22817 val_t variable2;
22818 val_t variable3;
22819 val_t variable4;
22820 val_t variable5;
22821 val_t variable6;
22822 trace.prev = tracehead; tracehead = &trace;
22823 variable0 = param0;
22824 variable1 = NIT_NULL /*null*/;
22825 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22826 variable2 = variable3;
22827 variable4 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
22828 variable3 = variable4;
22829 variable4 = variable2 /*nodearraylist1*/;
22830 variable5 = TAG_Bool(( variable4 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable4 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
22831 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12010,6--36\n"); nit_exit(1);}
22832 variable6 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable3 /*pexprnode2*/, variable4 /*tattridnode3*/); /*new AAttrExpr*/
22833 variable5 = variable6;
22834 variable1 = variable5 /*pexprnode1*/ /*node_list=*/;
22835 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
22836 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
22837 tracehead = trace.prev;
22838 return;
22839 }
22840 void parser___ReduceAction313___init(val_t self, int* init_table) {
22841 struct trace_t trace = {NULL, "parser::ReduceAction313::init (src/parser//parser.nit:12018,1--4)"};
22842 trace.prev = tracehead; tracehead = &trace;
22843 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction313].i]) return;
22844 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction313].i] = 1;
22845 tracehead = trace.prev;
22846 return;
22847 }
22848 void parser___ReduceAction314___action(val_t self, val_t param0) {
22849 struct trace_t trace = {NULL, "parser::ReduceAction314::action (src/parser//parser.nit:12022,2--12050:34)"};
22850 val_t variable0;
22851 val_t variable1;
22852 val_t variable2;
22853 val_t variable3;
22854 val_t variable4;
22855 val_t variable5;
22856 val_t variable6;
22857 val_t variable7;
22858 val_t variable8;
22859 val_t variable9;
22860 val_t variable10;
22861 val_t variable11;
22862 val_t variable12;
22863 trace.prev = tracehead; tracehead = &trace;
22864 variable0 = param0;
22865 variable1 = NIT_NULL /*null*/;
22866 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22867 variable2 = variable3;
22868 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22869 variable3 = variable4;
22870 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22871 variable4 = variable5;
22872 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22873 variable5 = variable6;
22874 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22875 variable6 = variable7;
22876 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
22877 variable7 = variable8;
22878 variable8 = variable6 /*nodearraylist1*/;
22879 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22880 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12032,6--32\n"); nit_exit(1);}
22881 variable9 = variable3 /*nodearraylist4*/;
22882 variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
22883 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12034,6--28\n"); nit_exit(1);}
22884 variable10 = variable2 /*nodearraylist5*/;
22885 variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22886 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12036,6--38\n"); nit_exit(1);}
22887 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
22888 if (UNTAG_Bool(variable11)) { /*if*/
22889 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
22890 if (UNTAG_Bool(variable11)) { /*if*/
22891 variable7 = variable10 /*listnode4*/ /*listnode5=*/;
22892 } else { /*if*/
22893 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/;
22894 }
22895 }
22896 variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/, variable9 /*tidnode3*/, variable7 /*listnode5*/); /*new ACallExpr*/
22897 variable11 = variable12;
22898 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
22899 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
22900 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
22901 tracehead = trace.prev;
22902 return;
22903 }
22904 void parser___ReduceAction314___init(val_t self, int* init_table) {
22905 struct trace_t trace = {NULL, "parser::ReduceAction314::init (src/parser//parser.nit:12052,1--4)"};
22906 trace.prev = tracehead; tracehead = &trace;
22907 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction314].i]) return;
22908 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction314].i] = 1;
22909 tracehead = trace.prev;
22910 return;
22911 }
22912 void parser___ReduceAction315___action(val_t self, val_t param0) {
22913 struct trace_t trace = {NULL, "parser::ReduceAction315::action (src/parser//parser.nit:12056,2--12081:34)"};
22914 val_t variable0;
22915 val_t variable1;
22916 val_t variable2;
22917 val_t variable3;
22918 val_t variable4;
22919 val_t variable5;
22920 val_t variable6;
22921 val_t variable7;
22922 val_t variable8;
22923 val_t variable9;
22924 trace.prev = tracehead; tracehead = &trace;
22925 variable0 = param0;
22926 variable1 = NIT_NULL /*null*/;
22927 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22928 variable2 = variable3;
22929 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22930 variable3 = variable4;
22931 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
22932 variable4 = variable5;
22933 variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
22934 variable5 = variable6;
22935 variable6 = variable3 /*nodearraylist1*/;
22936 variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
22937 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12065,6--28\n"); nit_exit(1);}
22938 variable7 = variable2 /*nodearraylist2*/;
22939 variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22940 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12067,6--38\n"); nit_exit(1);}
22941 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
22942 if (UNTAG_Bool(variable8)) { /*if*/
22943 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
22944 if (UNTAG_Bool(variable8)) { /*if*/
22945 variable4 = variable7 /*listnode4*/ /*listnode5=*/;
22946 } else { /*if*/
22947 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/;
22948 }
22949 }
22950 variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/, variable6 /*tidnode3*/, variable4 /*listnode5*/); /*new ACallExpr*/
22951 variable8 = variable9;
22952 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
22953 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
22954 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
22955 tracehead = trace.prev;
22956 return;
22957 }
22958 void parser___ReduceAction315___init(val_t self, int* init_table) {
22959 struct trace_t trace = {NULL, "parser::ReduceAction315::init (src/parser//parser.nit:12083,1--4)"};
22960 trace.prev = tracehead; tracehead = &trace;
22961 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction315].i]) return;
22962 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction315].i] = 1;
22963 tracehead = trace.prev;
22964 return;
22965 }
22966 void parser___ReduceAction316___action(val_t self, val_t param0) {
22967 struct trace_t trace = {NULL, "parser::ReduceAction316::action (src/parser//parser.nit:12087,2--12110:34)"};
22968 val_t variable0;
22969 val_t variable1;
22970 val_t variable2;
22971 val_t variable3;
22972 val_t variable4;
22973 val_t variable5;
22974 val_t variable6;
22975 val_t variable7;
22976 val_t variable8;
22977 trace.prev = tracehead; tracehead = &trace;
22978 variable0 = param0;
22979 variable1 = NIT_NULL /*null*/;
22980 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22981 variable2 = variable3;
22982 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
22983 variable3 = variable4;
22984 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
22985 variable4 = variable5;
22986 variable5 = variable3 /*nodearraylist1*/;
22987 variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
22988 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12094,6--38\n"); nit_exit(1);}
22989 variable6 = variable2 /*nodearraylist2*/;
22990 variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
22991 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12096,6--38\n"); nit_exit(1);}
22992 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
22993 if (UNTAG_Bool(variable7)) { /*if*/
22994 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
22995 if (UNTAG_Bool(variable7)) { /*if*/
22996 variable4 = variable6 /*listnode4*/ /*listnode5=*/;
22997 } else { /*if*/
22998 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable6 /*listnode4*/) /*Array::append*/;
22999 }
23000 }
23001 variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable5 /*tkwsupernode3*/, variable4 /*listnode5*/); /*new ASuperExpr*/
23002 variable7 = variable8;
23003 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
23004 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23005 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
23006 tracehead = trace.prev;
23007 return;
23008 }
23009 void parser___ReduceAction316___init(val_t self, int* init_table) {
23010 struct trace_t trace = {NULL, "parser::ReduceAction316::init (src/parser//parser.nit:12112,1--4)"};
23011 trace.prev = tracehead; tracehead = &trace;
23012 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction316].i]) return;
23013 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction316].i] = 1;
23014 tracehead = trace.prev;
23015 return;
23016 }
23017 void parser___ReduceAction317___action(val_t self, val_t param0) {
23018 struct trace_t trace = {NULL, "parser::ReduceAction317::action (src/parser//parser.nit:12116,2--12142:34)"};
23019 val_t variable0;
23020 val_t variable1;
23021 val_t variable2;
23022 val_t variable3;
23023 val_t variable4;
23024 val_t variable5;
23025 val_t variable6;
23026 val_t variable7;
23027 val_t variable8;
23028 val_t variable9;
23029 val_t variable10;
23030 trace.prev = tracehead; tracehead = &trace;
23031 variable0 = param0;
23032 variable1 = NIT_NULL /*null*/;
23033 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23034 variable2 = variable3;
23035 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23036 variable3 = variable4;
23037 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23038 variable4 = variable5;
23039 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
23040 variable5 = variable6;
23041 variable6 = variable4 /*nodearraylist1*/;
23042 variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
23043 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12124,6--42\n"); nit_exit(1);}
23044 variable7 = variable3 /*nodearraylist2*/;
23045 variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
23046 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12126,6--38\n"); nit_exit(1);}
23047 variable8 = variable2 /*nodearraylist3*/;
23048 variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23049 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12128,6--38\n"); nit_exit(1);}
23050 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
23051 if (UNTAG_Bool(variable9)) { /*if*/
23052 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
23053 if (UNTAG_Bool(variable9)) { /*if*/
23054 variable5 = variable8 /*listnode4*/ /*listnode5=*/;
23055 } else { /*if*/
23056 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/;
23057 }
23058 }
23059 variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/, variable7 /*tkwsupernode3*/, variable5 /*listnode5*/); /*new ASuperExpr*/
23060 variable9 = variable10;
23061 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
23062 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23063 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
23064 tracehead = trace.prev;
23065 return;
23066 }
23067 void parser___ReduceAction317___init(val_t self, int* init_table) {
23068 struct trace_t trace = {NULL, "parser::ReduceAction317::init (src/parser//parser.nit:12144,1--4)"};
23069 trace.prev = tracehead; tracehead = &trace;
23070 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction317].i]) return;
23071 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction317].i] = 1;
23072 tracehead = trace.prev;
23073 return;
23074 }
23075 void parser___ReduceAction318___action(val_t self, val_t param0) {
23076 struct trace_t trace = {NULL, "parser::ReduceAction318::action (src/parser//parser.nit:12148,2--12176:34)"};
23077 val_t variable0;
23078 val_t variable1;
23079 val_t variable2;
23080 val_t variable3;
23081 val_t variable4;
23082 val_t variable5;
23083 val_t variable6;
23084 val_t variable7;
23085 val_t variable8;
23086 val_t variable9;
23087 val_t variable10;
23088 val_t variable11;
23089 val_t variable12;
23090 trace.prev = tracehead; tracehead = &trace;
23091 variable0 = param0;
23092 variable1 = NIT_NULL /*null*/;
23093 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23094 variable2 = variable3;
23095 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23096 variable3 = variable4;
23097 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23098 variable4 = variable5;
23099 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23100 variable5 = variable6;
23101 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23102 variable6 = variable7;
23103 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
23104 variable7 = variable8;
23105 variable8 = variable6 /*nodearraylist1*/;
23106 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23107 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12158,6--32\n"); nit_exit(1);}
23108 variable9 = variable3 /*nodearraylist4*/;
23109 variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23110 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12160,6--36\n"); nit_exit(1);}
23111 variable10 = variable2 /*nodearraylist5*/;
23112 variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23113 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12162,6--38\n"); nit_exit(1);}
23114 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
23115 if (UNTAG_Bool(variable11)) { /*if*/
23116 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
23117 if (UNTAG_Bool(variable11)) { /*if*/
23118 variable7 = variable10 /*listnode4*/ /*listnode5=*/;
23119 } else { /*if*/
23120 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/;
23121 }
23122 }
23123 variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/, variable9 /*tkwinitnode3*/, variable7 /*listnode5*/); /*new AInitExpr*/
23124 variable11 = variable12;
23125 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
23126 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23127 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
23128 tracehead = trace.prev;
23129 return;
23130 }
23131 void parser___ReduceAction318___init(val_t self, int* init_table) {
23132 struct trace_t trace = {NULL, "parser::ReduceAction318::init (src/parser//parser.nit:12178,1--4)"};
23133 trace.prev = tracehead; tracehead = &trace;
23134 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction318].i]) return;
23135 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction318].i] = 1;
23136 tracehead = trace.prev;
23137 return;
23138 }
23139 void parser___ReduceAction319___action(val_t self, val_t param0) {
23140 struct trace_t trace = {NULL, "parser::ReduceAction319::action (src/parser//parser.nit:12182,2--12207:34)"};
23141 val_t variable0;
23142 val_t variable1;
23143 val_t variable2;
23144 val_t variable3;
23145 val_t variable4;
23146 val_t variable5;
23147 val_t variable6;
23148 val_t variable7;
23149 val_t variable8;
23150 val_t variable9;
23151 trace.prev = tracehead; tracehead = &trace;
23152 variable0 = param0;
23153 variable1 = NIT_NULL /*null*/;
23154 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23155 variable2 = variable3;
23156 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23157 variable3 = variable4;
23158 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
23159 variable4 = variable5;
23160 variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
23161 variable5 = variable6;
23162 variable6 = variable3 /*nodearraylist1*/;
23163 variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
23164 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12191,6--36\n"); nit_exit(1);}
23165 variable7 = variable2 /*nodearraylist2*/;
23166 variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23167 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12193,6--38\n"); nit_exit(1);}
23168 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
23169 if (UNTAG_Bool(variable8)) { /*if*/
23170 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
23171 if (UNTAG_Bool(variable8)) { /*if*/
23172 variable4 = variable7 /*listnode4*/ /*listnode5=*/;
23173 } else { /*if*/
23174 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/;
23175 }
23176 }
23177 variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/, variable6 /*tkwinitnode3*/, variable4 /*listnode5*/); /*new AInitExpr*/
23178 variable8 = variable9;
23179 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
23180 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23181 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
23182 tracehead = trace.prev;
23183 return;
23184 }
23185 void parser___ReduceAction319___init(val_t self, int* init_table) {
23186 struct trace_t trace = {NULL, "parser::ReduceAction319::init (src/parser//parser.nit:12209,1--4)"};
23187 trace.prev = tracehead; tracehead = &trace;
23188 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction319].i]) return;
23189 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction319].i] = 1;
23190 tracehead = trace.prev;
23191 return;
23192 }
23193 void parser___ReduceAction320___action(val_t self, val_t param0) {
23194 struct trace_t trace = {NULL, "parser::ReduceAction320::action (src/parser//parser.nit:12213,2--12235:34)"};
23195 val_t variable0;
23196 val_t variable1;
23197 val_t variable2;
23198 val_t variable3;
23199 val_t variable4;
23200 val_t variable5;
23201 val_t variable6;
23202 val_t variable7;
23203 val_t variable8;
23204 trace.prev = tracehead; tracehead = &trace;
23205 variable0 = param0;
23206 variable1 = NIT_NULL /*null*/;
23207 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23208 variable2 = variable3;
23209 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23210 variable3 = variable4;
23211 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
23212 variable4 = variable5;
23213 variable5 = variable3 /*nodearraylist1*/;
23214 variable6 = TAG_Bool(( variable5 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23215 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12220,6--32\n"); nit_exit(1);}
23216 variable6 = variable2 /*nodearraylist2*/;
23217 variable7 = TAG_Bool(( variable6 /*listnode3*/==NIT_NULL) || VAL_ISA( variable6 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23218 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12222,6--38\n"); nit_exit(1);}
23219 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode3*/ == NIT_NULL /*null*/) || (( variable6 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
23220 if (UNTAG_Bool(variable7)) { /*if*/
23221 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/;
23222 if (UNTAG_Bool(variable7)) { /*if*/
23223 variable4 = variable6 /*listnode3*/ /*listnode4=*/;
23224 } else { /*if*/
23225 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/, variable6 /*listnode3*/) /*Array::append*/;
23226 }
23227 }
23228 variable8 = NEW_parser_prod___ABraExpr___init_abraexpr( variable5 /*pexprnode2*/, variable4 /*listnode4*/); /*new ABraExpr*/
23229 variable7 = variable8;
23230 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
23231 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23232 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
23233 tracehead = trace.prev;
23234 return;
23235 }
23236 void parser___ReduceAction320___init(val_t self, int* init_table) {
23237 struct trace_t trace = {NULL, "parser::ReduceAction320::init (src/parser//parser.nit:12237,1--4)"};
23238 trace.prev = tracehead; tracehead = &trace;
23239 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction320].i]) return;
23240 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction320].i] = 1;
23241 tracehead = trace.prev;
23242 return;
23243 }
23244 void parser___ReduceAction321___action(val_t self, val_t param0) {
23245 struct trace_t trace = {NULL, "parser::ReduceAction321::action (src/parser//parser.nit:12241,2--12274:34)"};
23246 val_t variable0;
23247 val_t variable1;
23248 val_t variable2;
23249 val_t variable3;
23250 val_t variable4;
23251 val_t variable5;
23252 val_t variable6;
23253 val_t variable7;
23254 val_t variable8;
23255 val_t variable9;
23256 val_t variable10;
23257 val_t variable11;
23258 val_t variable12;
23259 val_t variable13;
23260 val_t variable14;
23261 val_t variable15;
23262 trace.prev = tracehead; tracehead = &trace;
23263 variable0 = param0;
23264 variable1 = NIT_NULL /*null*/;
23265 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23266 variable2 = variable3;
23267 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23268 variable3 = variable4;
23269 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23270 variable4 = variable5;
23271 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23272 variable5 = variable6;
23273 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23274 variable6 = variable7;
23275 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23276 variable7 = variable8;
23277 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23278 variable8 = variable9;
23279 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
23280 variable9 = variable10;
23281 variable10 = variable8 /*nodearraylist1*/;
23282 variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
23283 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12253,6--34\n"); nit_exit(1);}
23284 variable11 = variable6 /*nodearraylist3*/;
23285 variable12 = TAG_Bool(( variable11 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
23286 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12255,6--32\n"); nit_exit(1);}
23287 variable12 = variable3 /*nodearraylist6*/;
23288 variable13 = TAG_Bool(( variable12 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
23289 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12257,6--28\n"); nit_exit(1);}
23290 variable13 = variable2 /*nodearraylist7*/;
23291 variable14 = TAG_Bool(( variable13 /*listnode5*/==NIT_NULL) || VAL_ISA( variable13 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23292 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12259,6--38\n"); nit_exit(1);}
23293 variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ == NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
23294 if (UNTAG_Bool(variable14)) { /*if*/
23295 variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*Array::is_empty*/;
23296 if (UNTAG_Bool(variable14)) { /*if*/
23297 variable9 = variable13 /*listnode5*/ /*listnode6=*/;
23298 } else { /*if*/
23299 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/, variable13 /*listnode5*/) /*Array::append*/;
23300 }
23301 }
23302 variable15 = NEW_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/, variable11 /*ptypenode3*/, variable12 /*tidnode4*/, variable9 /*listnode6*/); /*new ANewExpr*/
23303 variable14 = variable15;
23304 variable1 = variable14 /*pexprnode1*/ /*node_list=*/;
23305 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23306 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
23307 tracehead = trace.prev;
23308 return;
23309 }
23310 void parser___ReduceAction321___init(val_t self, int* init_table) {
23311 struct trace_t trace = {NULL, "parser::ReduceAction321::init (src/parser//parser.nit:12276,1--4)"};
23312 trace.prev = tracehead; tracehead = &trace;
23313 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction321].i]) return;
23314 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction321].i] = 1;
23315 tracehead = trace.prev;
23316 return;
23317 }
23318 void parser___ReduceAction322___action(val_t self, val_t param0) {
23319 struct trace_t trace = {NULL, "parser::ReduceAction322::action (src/parser//parser.nit:12280,2--12301:34)"};
23320 val_t variable0;
23321 val_t variable1;
23322 val_t variable2;
23323 val_t variable3;
23324 val_t variable4;
23325 val_t variable5;
23326 val_t variable6;
23327 val_t variable7;
23328 val_t variable8;
23329 val_t variable9;
23330 val_t variable10;
23331 val_t variable11;
23332 val_t variable12;
23333 val_t variable13;
23334 val_t variable14;
23335 trace.prev = tracehead; tracehead = &trace;
23336 variable0 = param0;
23337 variable1 = NIT_NULL /*null*/;
23338 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23339 variable2 = variable3;
23340 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23341 variable3 = variable4;
23342 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23343 variable4 = variable5;
23344 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23345 variable5 = variable6;
23346 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23347 variable6 = variable7;
23348 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23349 variable7 = variable8;
23350 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23351 variable8 = variable9;
23352 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23353 variable9 = variable10;
23354 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23355 variable10 = variable11;
23356 variable11 = variable8 /*nodearraylist3*/;
23357 variable12 = TAG_Bool(( variable11 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23358 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12293,6--32\n"); nit_exit(1);}
23359 variable12 = variable4 /*nodearraylist7*/;
23360 variable13 = TAG_Bool(( variable12 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23361 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12295,6--32\n"); nit_exit(1);}
23362 variable14 = NEW_parser_prod___ACrangeExpr___init_acrangeexpr( variable11 /*pexprnode2*/, variable12 /*pexprnode3*/); /*new ACrangeExpr*/
23363 variable13 = variable14;
23364 variable1 = variable13 /*pexprnode1*/ /*node_list=*/;
23365 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23366 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
23367 tracehead = trace.prev;
23368 return;
23369 }
23370 void parser___ReduceAction322___init(val_t self, int* init_table) {
23371 struct trace_t trace = {NULL, "parser::ReduceAction322::init (src/parser//parser.nit:12303,1--4)"};
23372 trace.prev = tracehead; tracehead = &trace;
23373 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction322].i]) return;
23374 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction322].i] = 1;
23375 tracehead = trace.prev;
23376 return;
23377 }
23378 void parser___ReduceAction323___action(val_t self, val_t param0) {
23379 struct trace_t trace = {NULL, "parser::ReduceAction323::action (src/parser//parser.nit:12307,2--12328:34)"};
23380 val_t variable0;
23381 val_t variable1;
23382 val_t variable2;
23383 val_t variable3;
23384 val_t variable4;
23385 val_t variable5;
23386 val_t variable6;
23387 val_t variable7;
23388 val_t variable8;
23389 val_t variable9;
23390 val_t variable10;
23391 val_t variable11;
23392 val_t variable12;
23393 val_t variable13;
23394 val_t variable14;
23395 trace.prev = tracehead; tracehead = &trace;
23396 variable0 = param0;
23397 variable1 = NIT_NULL /*null*/;
23398 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23399 variable2 = variable3;
23400 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23401 variable3 = variable4;
23402 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23403 variable4 = variable5;
23404 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23405 variable5 = variable6;
23406 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23407 variable6 = variable7;
23408 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23409 variable7 = variable8;
23410 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23411 variable8 = variable9;
23412 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23413 variable9 = variable10;
23414 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23415 variable10 = variable11;
23416 variable11 = variable8 /*nodearraylist3*/;
23417 variable12 = TAG_Bool(( variable11 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23418 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12320,6--32\n"); nit_exit(1);}
23419 variable12 = variable4 /*nodearraylist7*/;
23420 variable13 = TAG_Bool(( variable12 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23421 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12322,6--32\n"); nit_exit(1);}
23422 variable14 = NEW_parser_prod___AOrangeExpr___init_aorangeexpr( variable11 /*pexprnode2*/, variable12 /*pexprnode3*/); /*new AOrangeExpr*/
23423 variable13 = variable14;
23424 variable1 = variable13 /*pexprnode1*/ /*node_list=*/;
23425 variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23426 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/;
23427 tracehead = trace.prev;
23428 return;
23429 }
23430 void parser___ReduceAction323___init(val_t self, int* init_table) {
23431 struct trace_t trace = {NULL, "parser::ReduceAction323::init (src/parser//parser.nit:12330,1--4)"};
23432 trace.prev = tracehead; tracehead = &trace;
23433 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction323].i]) return;
23434 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction323].i] = 1;
23435 tracehead = trace.prev;
23436 return;
23437 }
23438 void parser___ReduceAction324___action(val_t self, val_t param0) {
23439 struct trace_t trace = {NULL, "parser::ReduceAction324::action (src/parser//parser.nit:12334,2--12352:34)"};
23440 val_t variable0;
23441 val_t variable1;
23442 val_t variable2;
23443 val_t variable3;
23444 val_t variable4;
23445 val_t variable5;
23446 val_t variable6;
23447 trace.prev = tracehead; tracehead = &trace;
23448 variable0 = param0;
23449 variable1 = NIT_NULL /*null*/;
23450 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23451 variable2 = variable3;
23452 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
23453 variable3 = variable4;
23454 variable4 = variable2 /*nodearraylist1*/;
23455 variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23456 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12340,6--38\n"); nit_exit(1);}
23457 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ == NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
23458 if (UNTAG_Bool(variable5)) { /*if*/
23459 variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*Array::is_empty*/;
23460 if (UNTAG_Bool(variable5)) { /*if*/
23461 variable3 = variable4 /*listnode2*/ /*listnode3=*/;
23462 } else { /*if*/
23463 ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/, variable4 /*listnode2*/) /*Array::append*/;
23464 }
23465 }
23466 variable6 = NEW_parser_prod___AArrayExpr___init_aarrayexpr( variable3 /*listnode3*/); /*new AArrayExpr*/
23467 variable5 = variable6;
23468 variable1 = variable5 /*pexprnode1*/ /*node_list=*/;
23469 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23470 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
23471 tracehead = trace.prev;
23472 return;
23473 }
23474 void parser___ReduceAction324___init(val_t self, int* init_table) {
23475 struct trace_t trace = {NULL, "parser::ReduceAction324::init (src/parser//parser.nit:12354,1--4)"};
23476 trace.prev = tracehead; tracehead = &trace;
23477 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction324].i]) return;
23478 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction324].i] = 1;
23479 tracehead = trace.prev;
23480 return;
23481 }
23482 void parser___ReduceAction325___action(val_t self, val_t param0) {
23483 struct trace_t trace = {NULL, "parser::ReduceAction325::action (src/parser//parser.nit:12358,2--12368:34)"};
23484 val_t variable0;
23485 val_t variable1;
23486 val_t variable2;
23487 val_t variable3;
23488 val_t variable4;
23489 val_t variable5;
23490 trace.prev = tracehead; tracehead = &trace;
23491 variable0 = param0;
23492 variable1 = NIT_NULL /*null*/;
23493 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23494 variable2 = variable3;
23495 variable3 = variable2 /*nodearraylist1*/;
23496 variable4 = TAG_Bool(( variable3 /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
23497 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12363,6--36\n"); nit_exit(1);}
23498 variable5 = NEW_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/
23499 variable4 = variable5;
23500 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
23501 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23502 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
23503 tracehead = trace.prev;
23504 return;
23505 }
23506 void parser___ReduceAction325___init(val_t self, int* init_table) {
23507 struct trace_t trace = {NULL, "parser::ReduceAction325::init (src/parser//parser.nit:12370,1--4)"};
23508 trace.prev = tracehead; tracehead = &trace;
23509 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction325].i]) return;
23510 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction325].i] = 1;
23511 tracehead = trace.prev;
23512 return;
23513 }
23514 void parser___ReduceAction326___action(val_t self, val_t param0) {
23515 struct trace_t trace = {NULL, "parser::ReduceAction326::action (src/parser//parser.nit:12374,2--12384:34)"};
23516 val_t variable0;
23517 val_t variable1;
23518 val_t variable2;
23519 val_t variable3;
23520 val_t variable4;
23521 val_t variable5;
23522 trace.prev = tracehead; tracehead = &trace;
23523 variable0 = param0;
23524 variable1 = NIT_NULL /*null*/;
23525 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23526 variable2 = variable3;
23527 variable3 = variable2 /*nodearraylist1*/;
23528 variable4 = TAG_Bool(( variable3 /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
23529 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12379,6--36\n"); nit_exit(1);}
23530 variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
23531 variable4 = variable5;
23532 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
23533 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23534 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
23535 tracehead = trace.prev;
23536 return;
23537 }
23538 void parser___ReduceAction326___init(val_t self, int* init_table) {
23539 struct trace_t trace = {NULL, "parser::ReduceAction326::init (src/parser//parser.nit:12386,1--4)"};
23540 trace.prev = tracehead; tracehead = &trace;
23541 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction326].i]) return;
23542 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction326].i] = 1;
23543 tracehead = trace.prev;
23544 return;
23545 }
23546 void parser___ReduceAction327___action(val_t self, val_t param0) {
23547 struct trace_t trace = {NULL, "parser::ReduceAction327::action (src/parser//parser.nit:12390,2--12400:34)"};
23548 val_t variable0;
23549 val_t variable1;
23550 val_t variable2;
23551 val_t variable3;
23552 val_t variable4;
23553 val_t variable5;
23554 trace.prev = tracehead; tracehead = &trace;
23555 variable0 = param0;
23556 variable1 = NIT_NULL /*null*/;
23557 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23558 variable2 = variable3;
23559 variable3 = variable2 /*nodearraylist1*/;
23560 variable4 = TAG_Bool(( variable3 /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
23561 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12395,6--38\n"); nit_exit(1);}
23562 variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
23563 variable4 = variable5;
23564 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
23565 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23566 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
23567 tracehead = trace.prev;
23568 return;
23569 }
23570 void parser___ReduceAction327___init(val_t self, int* init_table) {
23571 struct trace_t trace = {NULL, "parser::ReduceAction327::init (src/parser//parser.nit:12402,1--4)"};
23572 trace.prev = tracehead; tracehead = &trace;
23573 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction327].i]) return;
23574 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction327].i] = 1;
23575 tracehead = trace.prev;
23576 return;
23577 }
23578 void parser___ReduceAction328___action(val_t self, val_t param0) {
23579 struct trace_t trace = {NULL, "parser::ReduceAction328::action (src/parser//parser.nit:12406,2--12416:34)"};
23580 val_t variable0;
23581 val_t variable1;
23582 val_t variable2;
23583 val_t variable3;
23584 val_t variable4;
23585 val_t variable5;
23586 trace.prev = tracehead; tracehead = &trace;
23587 variable0 = param0;
23588 variable1 = NIT_NULL /*null*/;
23589 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23590 variable2 = variable3;
23591 variable3 = variable2 /*nodearraylist1*/;
23592 variable4 = TAG_Bool(( variable3 /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
23593 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12411,6--36\n"); nit_exit(1);}
23594 variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
23595 variable4 = variable5;
23596 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
23597 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23598 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
23599 tracehead = trace.prev;
23600 return;
23601 }
23602 void parser___ReduceAction328___init(val_t self, int* init_table) {
23603 struct trace_t trace = {NULL, "parser::ReduceAction328::init (src/parser//parser.nit:12418,1--4)"};
23604 trace.prev = tracehead; tracehead = &trace;
23605 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction328].i]) return;
23606 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction328].i] = 1;
23607 tracehead = trace.prev;
23608 return;
23609 }
23610 void parser___ReduceAction329___action(val_t self, val_t param0) {
23611 struct trace_t trace = {NULL, "parser::ReduceAction329::action (src/parser//parser.nit:12422,2--12432:34)"};
23612 val_t variable0;
23613 val_t variable1;
23614 val_t variable2;
23615 val_t variable3;
23616 val_t variable4;
23617 val_t variable5;
23618 trace.prev = tracehead; tracehead = &trace;
23619 variable0 = param0;
23620 variable1 = NIT_NULL /*null*/;
23621 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23622 variable2 = variable3;
23623 variable3 = variable2 /*nodearraylist1*/;
23624 variable4 = TAG_Bool(( variable3 /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
23625 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12427,6--36\n"); nit_exit(1);}
23626 variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
23627 variable4 = variable5;
23628 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
23629 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23630 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
23631 tracehead = trace.prev;
23632 return;
23633 }
23634 void parser___ReduceAction329___init(val_t self, int* init_table) {
23635 struct trace_t trace = {NULL, "parser::ReduceAction329::init (src/parser//parser.nit:12434,1--4)"};
23636 trace.prev = tracehead; tracehead = &trace;
23637 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction329].i]) return;
23638 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction329].i] = 1;
23639 tracehead = trace.prev;
23640 return;
23641 }
23642 void parser___ReduceAction330___action(val_t self, val_t param0) {
23643 struct trace_t trace = {NULL, "parser::ReduceAction330::action (src/parser//parser.nit:12438,2--12448:34)"};
23644 val_t variable0;
23645 val_t variable1;
23646 val_t variable2;
23647 val_t variable3;
23648 val_t variable4;
23649 val_t variable5;
23650 trace.prev = tracehead; tracehead = &trace;
23651 variable0 = param0;
23652 variable1 = NIT_NULL /*null*/;
23653 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23654 variable2 = variable3;
23655 variable3 = variable2 /*nodearraylist1*/;
23656 variable4 = TAG_Bool(( variable3 /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
23657 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12443,6--34\n"); nit_exit(1);}
23658 variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
23659 variable4 = variable5;
23660 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
23661 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23662 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
23663 tracehead = trace.prev;
23664 return;
23665 }
23666 void parser___ReduceAction330___init(val_t self, int* init_table) {
23667 struct trace_t trace = {NULL, "parser::ReduceAction330::init (src/parser//parser.nit:12450,1--4)"};
23668 trace.prev = tracehead; tracehead = &trace;
23669 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction330].i]) return;
23670 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction330].i] = 1;
23671 tracehead = trace.prev;
23672 return;
23673 }
23674 void parser___ReduceAction331___action(val_t self, val_t param0) {
23675 struct trace_t trace = {NULL, "parser::ReduceAction331::action (src/parser//parser.nit:12454,2--12464:34)"};
23676 val_t variable0;
23677 val_t variable1;
23678 val_t variable2;
23679 val_t variable3;
23680 val_t variable4;
23681 val_t variable5;
23682 trace.prev = tracehead; tracehead = &trace;
23683 variable0 = param0;
23684 variable1 = NIT_NULL /*null*/;
23685 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23686 variable2 = variable3;
23687 variable3 = variable2 /*nodearraylist1*/;
23688 variable4 = TAG_Bool(( variable3 /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
23689 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12459,6--32\n"); nit_exit(1);}
23690 variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
23691 variable4 = variable5;
23692 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
23693 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23694 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
23695 tracehead = trace.prev;
23696 return;
23697 }
23698 void parser___ReduceAction331___init(val_t self, int* init_table) {
23699 struct trace_t trace = {NULL, "parser::ReduceAction331::init (src/parser//parser.nit:12466,1--4)"};
23700 trace.prev = tracehead; tracehead = &trace;
23701 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction331].i]) return;
23702 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction331].i] = 1;
23703 tracehead = trace.prev;
23704 return;
23705 }
23706 void parser___ReduceAction332___action(val_t self, val_t param0) {
23707 struct trace_t trace = {NULL, "parser::ReduceAction332::action (src/parser//parser.nit:12470,2--12480:34)"};
23708 val_t variable0;
23709 val_t variable1;
23710 val_t variable2;
23711 val_t variable3;
23712 val_t variable4;
23713 val_t variable5;
23714 trace.prev = tracehead; tracehead = &trace;
23715 variable0 = param0;
23716 variable1 = NIT_NULL /*null*/;
23717 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23718 variable2 = variable3;
23719 variable3 = variable2 /*nodearraylist1*/;
23720 variable4 = TAG_Bool(( variable3 /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
23721 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12475,6--36\n"); nit_exit(1);}
23722 variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
23723 variable4 = variable5;
23724 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
23725 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23726 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
23727 tracehead = trace.prev;
23728 return;
23729 }
23730 void parser___ReduceAction332___init(val_t self, int* init_table) {
23731 struct trace_t trace = {NULL, "parser::ReduceAction332::init (src/parser//parser.nit:12482,1--4)"};
23732 trace.prev = tracehead; tracehead = &trace;
23733 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction332].i]) return;
23734 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction332].i] = 1;
23735 tracehead = trace.prev;
23736 return;
23737 }
23738 void parser___ReduceAction333___action(val_t self, val_t param0) {
23739 struct trace_t trace = {NULL, "parser::ReduceAction333::action (src/parser//parser.nit:12486,2--12493:34)"};
23740 val_t variable0;
23741 val_t variable1;
23742 val_t variable2;
23743 val_t variable3;
23744 val_t variable4;
23745 trace.prev = tracehead; tracehead = &trace;
23746 variable0 = param0;
23747 variable1 = NIT_NULL /*null*/;
23748 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23749 variable2 = variable3;
23750 variable3 = variable2 /*nodearraylist1*/;
23751 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23752 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12491,6--32\n"); nit_exit(1);}
23753 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
23754 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23755 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
23756 tracehead = trace.prev;
23757 return;
23758 }
23759 void parser___ReduceAction333___init(val_t self, int* init_table) {
23760 struct trace_t trace = {NULL, "parser::ReduceAction333::init (src/parser//parser.nit:12495,1--4)"};
23761 trace.prev = tracehead; tracehead = &trace;
23762 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction333].i]) return;
23763 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction333].i] = 1;
23764 tracehead = trace.prev;
23765 return;
23766 }
23767 void parser___ReduceAction334___action(val_t self, val_t param0) {
23768 struct trace_t trace = {NULL, "parser::ReduceAction334::action (src/parser//parser.nit:12499,2--12508:34)"};
23769 val_t variable0;
23770 val_t variable1;
23771 val_t variable2;
23772 val_t variable3;
23773 val_t variable4;
23774 val_t variable5;
23775 val_t variable6;
23776 trace.prev = tracehead; tracehead = &trace;
23777 variable0 = param0;
23778 variable1 = NIT_NULL /*null*/;
23779 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23780 variable2 = variable3;
23781 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23782 variable3 = variable4;
23783 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23784 variable4 = variable5;
23785 variable5 = variable3 /*nodearraylist2*/;
23786 variable6 = TAG_Bool(( variable5 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23787 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12506,6--32\n"); nit_exit(1);}
23788 variable1 = variable5 /*pexprnode1*/ /*node_list=*/;
23789 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/;
23790 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
23791 tracehead = trace.prev;
23792 return;
23793 }
23794 void parser___ReduceAction334___init(val_t self, int* init_table) {
23795 struct trace_t trace = {NULL, "parser::ReduceAction334::init (src/parser//parser.nit:12510,1--4)"};
23796 trace.prev = tracehead; tracehead = &trace;
23797 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction334].i]) return;
23798 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction334].i] = 1;
23799 tracehead = trace.prev;
23800 return;
23801 }
23802 void parser___ReduceAction335___action(val_t self, val_t param0) {
23803 struct trace_t trace = {NULL, "parser::ReduceAction335::action (src/parser//parser.nit:12514,2--12538:34)"};
23804 val_t variable0;
23805 val_t variable1;
23806 val_t variable2;
23807 val_t variable3;
23808 val_t variable4;
23809 val_t variable5;
23810 val_t variable6;
23811 val_t variable7;
23812 val_t variable8;
23813 trace.prev = tracehead; tracehead = &trace;
23814 variable0 = param0;
23815 variable1 = NIT_NULL /*null*/;
23816 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23817 variable2 = variable3;
23818 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23819 variable3 = variable4;
23820 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
23821 variable4 = variable5;
23822 variable5 = variable3 /*nodearraylist1*/;
23823 variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23824 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12521,6--38\n"); nit_exit(1);}
23825 variable6 = variable2 /*nodearraylist2*/;
23826 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23827 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12523,6--32\n"); nit_exit(1);}
23828 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ == NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
23829 if (UNTAG_Bool(variable7)) { /*if*/
23830 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/;
23831 if (UNTAG_Bool(variable7)) { /*if*/
23832 variable4 = variable5 /*listnode2*/ /*listnode4=*/;
23833 } else { /*if*/
23834 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/, variable5 /*listnode2*/) /*Array::append*/;
23835 }
23836 }
23837 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode3*/ == NIT_NULL /*null*/) || (( variable6 /*pexprnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode3*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
23838 if (UNTAG_Bool(variable7)) { /*if*/
23839 ((array___AbstractArray___add_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode4*/, variable6 /*pexprnode3*/) /*Array::add*/;
23840 }
23841 variable8 = NEW_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable4 /*listnode4*/); /*new ASuperstringExpr*/
23842 variable7 = variable8;
23843 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
23844 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(48)) /*Parser::go_to*/;
23845 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
23846 tracehead = trace.prev;
23847 return;
23848 }
23849 void parser___ReduceAction335___init(val_t self, int* init_table) {
23850 struct trace_t trace = {NULL, "parser::ReduceAction335::init (src/parser//parser.nit:12540,1--4)"};
23851 trace.prev = tracehead; tracehead = &trace;
23852 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction335].i]) return;
23853 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction335].i] = 1;
23854 tracehead = trace.prev;
23855 return;
23856 }
23857 void parser___ReduceAction336___action(val_t self, val_t param0) {
23858 struct trace_t trace = {NULL, "parser::ReduceAction336::action (src/parser//parser.nit:12544,2--12578:34)"};
23859 val_t variable0;
23860 val_t variable1;
23861 val_t variable2;
23862 val_t variable3;
23863 val_t variable4;
23864 val_t variable5;
23865 val_t variable6;
23866 val_t variable7;
23867 val_t variable8;
23868 val_t variable9;
23869 val_t variable10;
23870 trace.prev = tracehead; tracehead = &trace;
23871 variable0 = param0;
23872 variable1 = NIT_NULL /*null*/;
23873 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23874 variable2 = variable3;
23875 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23876 variable3 = variable4;
23877 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23878 variable4 = variable5;
23879 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
23880 variable5 = variable6;
23881 variable6 = variable4 /*nodearraylist1*/;
23882 variable7 = TAG_Bool(( variable6 /*listnode2*/==NIT_NULL) || VAL_ISA( variable6 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23883 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12552,6--38\n"); nit_exit(1);}
23884 variable7 = variable3 /*nodearraylist2*/;
23885 variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
23886 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12554,6--38\n"); nit_exit(1);}
23887 variable8 = variable2 /*nodearraylist3*/;
23888 variable9 = TAG_Bool(( variable8 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23889 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12556,6--32\n"); nit_exit(1);}
23890 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode2*/ == NIT_NULL /*null*/) || (( variable6 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
23891 if (UNTAG_Bool(variable9)) { /*if*/
23892 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
23893 if (UNTAG_Bool(variable9)) { /*if*/
23894 variable5 = variable6 /*listnode2*/ /*listnode5=*/;
23895 } else { /*if*/
23896 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable6 /*listnode2*/) /*Array::append*/;
23897 }
23898 }
23899 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ == NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
23900 if (UNTAG_Bool(variable9)) { /*if*/
23901 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
23902 if (UNTAG_Bool(variable9)) { /*if*/
23903 variable5 = variable7 /*listnode3*/ /*listnode5=*/;
23904 } else { /*if*/
23905 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable7 /*listnode3*/) /*Array::append*/;
23906 }
23907 }
23908 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode4*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode4*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
23909 if (UNTAG_Bool(variable9)) { /*if*/
23910 ((array___AbstractArray___add_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode5*/, variable8 /*pexprnode4*/) /*Array::add*/;
23911 }
23912 variable10 = NEW_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable5 /*listnode5*/); /*new ASuperstringExpr*/
23913 variable9 = variable10;
23914 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
23915 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(48)) /*Parser::go_to*/;
23916 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
23917 tracehead = trace.prev;
23918 return;
23919 }
23920 void parser___ReduceAction336___init(val_t self, int* init_table) {
23921 struct trace_t trace = {NULL, "parser::ReduceAction336::init (src/parser//parser.nit:12580,1--4)"};
23922 trace.prev = tracehead; tracehead = &trace;
23923 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction336].i]) return;
23924 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction336].i] = 1;
23925 tracehead = trace.prev;
23926 return;
23927 }
23928 void parser___ReduceAction337___action(val_t self, val_t param0) {
23929 struct trace_t trace = {NULL, "parser::ReduceAction337::action (src/parser//parser.nit:12584,2--12603:34)"};
23930 val_t variable0;
23931 val_t variable1;
23932 val_t variable2;
23933 val_t variable3;
23934 val_t variable4;
23935 val_t variable5;
23936 val_t variable6;
23937 val_t variable7;
23938 val_t variable8;
23939 val_t variable9;
23940 trace.prev = tracehead; tracehead = &trace;
23941 variable0 = param0;
23942 variable1 = NIT_NULL /*null*/;
23943 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23944 variable2 = variable3;
23945 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23946 variable3 = variable4;
23947 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23948 variable4 = variable5;
23949 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23950 variable5 = variable6;
23951 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
23952 variable6 = variable7;
23953 variable7 = variable5 /*nodearraylist1*/;
23954 variable8 = TAG_Bool(( variable7 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23955 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12593,6--32\n"); nit_exit(1);}
23956 variable8 = variable3 /*nodearraylist3*/;
23957 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
23958 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12595,6--32\n"); nit_exit(1);}
23959 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable7 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
23960 if (UNTAG_Bool(variable9)) { /*if*/
23961 ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/, variable7 /*pexprnode1*/) /*Array::add*/;
23962 }
23963 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
23964 if (UNTAG_Bool(variable9)) { /*if*/
23965 ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/, variable8 /*pexprnode2*/) /*Array::add*/;
23966 }
23967 variable1 = variable6 /*listnode3*/ /*node_list=*/;
23968 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(49)) /*Parser::go_to*/;
23969 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
23970 tracehead = trace.prev;
23971 return;
23972 }
23973 void parser___ReduceAction337___init(val_t self, int* init_table) {
23974 struct trace_t trace = {NULL, "parser::ReduceAction337::init (src/parser//parser.nit:12605,1--4)"};
23975 trace.prev = tracehead; tracehead = &trace;
23976 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction337].i]) return;
23977 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction337].i] = 1;
23978 tracehead = trace.prev;
23979 return;
23980 }
23981 void parser___ReduceAction338___action(val_t self, val_t param0) {
23982 struct trace_t trace = {NULL, "parser::ReduceAction338::action (src/parser//parser.nit:12609,2--12619:34)"};
23983 val_t variable0;
23984 val_t variable1;
23985 val_t variable2;
23986 val_t variable3;
23987 val_t variable4;
23988 val_t variable5;
23989 trace.prev = tracehead; tracehead = &trace;
23990 variable0 = param0;
23991 variable1 = NIT_NULL /*null*/;
23992 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
23993 variable2 = variable3;
23994 variable3 = variable2 /*nodearraylist1*/;
23995 variable4 = TAG_Bool(( variable3 /*tstartstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstartstringnode2*/, COLOR_TStartString, ID_TStartString)) /*cast TStartString*/;
23996 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12614,6--46\n"); nit_exit(1);}
23997 variable5 = NEW_parser_prod___AStartStringExpr___init_astartstringexpr( variable3 /*tstartstringnode2*/); /*new AStartStringExpr*/
23998 variable4 = variable5;
23999 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
24000 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(50)) /*Parser::go_to*/;
24001 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
24002 tracehead = trace.prev;
24003 return;
24004 }
24005 void parser___ReduceAction338___init(val_t self, int* init_table) {
24006 struct trace_t trace = {NULL, "parser::ReduceAction338::init (src/parser//parser.nit:12621,1--4)"};
24007 trace.prev = tracehead; tracehead = &trace;
24008 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction338].i]) return;
24009 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction338].i] = 1;
24010 tracehead = trace.prev;
24011 return;
24012 }
24013 void parser___ReduceAction339___action(val_t self, val_t param0) {
24014 struct trace_t trace = {NULL, "parser::ReduceAction339::action (src/parser//parser.nit:12625,2--12644:34)"};
24015 val_t variable0;
24016 val_t variable1;
24017 val_t variable2;
24018 val_t variable3;
24019 val_t variable4;
24020 val_t variable5;
24021 val_t variable6;
24022 val_t variable7;
24023 val_t variable8;
24024 val_t variable9;
24025 trace.prev = tracehead; tracehead = &trace;
24026 variable0 = param0;
24027 variable1 = NIT_NULL /*null*/;
24028 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24029 variable2 = variable3;
24030 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24031 variable3 = variable4;
24032 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24033 variable4 = variable5;
24034 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24035 variable5 = variable6;
24036 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
24037 variable6 = variable7;
24038 variable7 = variable5 /*nodearraylist1*/;
24039 variable8 = TAG_Bool(( variable7 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24040 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12634,6--32\n"); nit_exit(1);}
24041 variable8 = variable3 /*nodearraylist3*/;
24042 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24043 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12636,6--32\n"); nit_exit(1);}
24044 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable7 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
24045 if (UNTAG_Bool(variable9)) { /*if*/
24046 ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/, variable7 /*pexprnode1*/) /*Array::add*/;
24047 }
24048 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
24049 if (UNTAG_Bool(variable9)) { /*if*/
24050 ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/, variable8 /*pexprnode2*/) /*Array::add*/;
24051 }
24052 variable1 = variable6 /*listnode3*/ /*node_list=*/;
24053 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(51)) /*Parser::go_to*/;
24054 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
24055 tracehead = trace.prev;
24056 return;
24057 }
24058 void parser___ReduceAction339___init(val_t self, int* init_table) {
24059 struct trace_t trace = {NULL, "parser::ReduceAction339::init (src/parser//parser.nit:12646,1--4)"};
24060 trace.prev = tracehead; tracehead = &trace;
24061 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction339].i]) return;
24062 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction339].i] = 1;
24063 tracehead = trace.prev;
24064 return;
24065 }
24066 void parser___ReduceAction340___action(val_t self, val_t param0) {
24067 struct trace_t trace = {NULL, "parser::ReduceAction340::action (src/parser//parser.nit:12650,2--12660:34)"};
24068 val_t variable0;
24069 val_t variable1;
24070 val_t variable2;
24071 val_t variable3;
24072 val_t variable4;
24073 val_t variable5;
24074 trace.prev = tracehead; tracehead = &trace;
24075 variable0 = param0;
24076 variable1 = NIT_NULL /*null*/;
24077 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24078 variable2 = variable3;
24079 variable3 = variable2 /*nodearraylist1*/;
24080 variable4 = TAG_Bool(( variable3 /*tmidstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tmidstringnode2*/, COLOR_TMidString, ID_TMidString)) /*cast TMidString*/;
24081 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12655,6--42\n"); nit_exit(1);}
24082 variable5 = NEW_parser_prod___AMidStringExpr___init_amidstringexpr( variable3 /*tmidstringnode2*/); /*new AMidStringExpr*/
24083 variable4 = variable5;
24084 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
24085 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(52)) /*Parser::go_to*/;
24086 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
24087 tracehead = trace.prev;
24088 return;
24089 }
24090 void parser___ReduceAction340___init(val_t self, int* init_table) {
24091 struct trace_t trace = {NULL, "parser::ReduceAction340::init (src/parser//parser.nit:12662,1--4)"};
24092 trace.prev = tracehead; tracehead = &trace;
24093 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction340].i]) return;
24094 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction340].i] = 1;
24095 tracehead = trace.prev;
24096 return;
24097 }
24098 void parser___ReduceAction341___action(val_t self, val_t param0) {
24099 struct trace_t trace = {NULL, "parser::ReduceAction341::action (src/parser//parser.nit:12666,2--12676:34)"};
24100 val_t variable0;
24101 val_t variable1;
24102 val_t variable2;
24103 val_t variable3;
24104 val_t variable4;
24105 val_t variable5;
24106 trace.prev = tracehead; tracehead = &trace;
24107 variable0 = param0;
24108 variable1 = NIT_NULL /*null*/;
24109 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24110 variable2 = variable3;
24111 variable3 = variable2 /*nodearraylist1*/;
24112 variable4 = TAG_Bool(( variable3 /*tendstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tendstringnode2*/, COLOR_TEndString, ID_TEndString)) /*cast TEndString*/;
24113 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12671,6--42\n"); nit_exit(1);}
24114 variable5 = NEW_parser_prod___AEndStringExpr___init_aendstringexpr( variable3 /*tendstringnode2*/); /*new AEndStringExpr*/
24115 variable4 = variable5;
24116 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
24117 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(53)) /*Parser::go_to*/;
24118 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
24119 tracehead = trace.prev;
24120 return;
24121 }
24122 void parser___ReduceAction341___init(val_t self, int* init_table) {
24123 struct trace_t trace = {NULL, "parser::ReduceAction341::init (src/parser//parser.nit:12678,1--4)"};
24124 trace.prev = tracehead; tracehead = &trace;
24125 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction341].i]) return;
24126 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction341].i] = 1;
24127 tracehead = trace.prev;
24128 return;
24129 }
24130 void parser___ReduceAction342___action(val_t self, val_t param0) {
24131 struct trace_t trace = {NULL, "parser::ReduceAction342::action (src/parser//parser.nit:12682,2--12697:34)"};
24132 val_t variable0;
24133 val_t variable1;
24134 val_t variable2;
24135 val_t variable3;
24136 val_t variable4;
24137 val_t variable5;
24138 val_t variable6;
24139 val_t variable7;
24140 val_t variable8;
24141 val_t variable9;
24142 trace.prev = tracehead; tracehead = &trace;
24143 variable0 = param0;
24144 variable1 = NIT_NULL /*null*/;
24145 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24146 variable2 = variable3;
24147 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24148 variable3 = variable4;
24149 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24150 variable4 = variable5;
24151 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24152 variable5 = variable6;
24153 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24154 variable6 = variable7;
24155 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
24156 variable7 = variable8;
24157 variable8 = variable4 /*nodearraylist3*/;
24158 variable9 = TAG_Bool(( variable8 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24159 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12692,6--32\n"); nit_exit(1);}
24160 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
24161 if (UNTAG_Bool(variable9)) { /*if*/
24162 ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/, variable8 /*pexprnode1*/) /*Array::add*/;
24163 }
24164 variable1 = variable7 /*listnode2*/ /*node_list=*/;
24165 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(54)) /*Parser::go_to*/;
24166 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
24167 tracehead = trace.prev;
24168 return;
24169 }
24170 void parser___ReduceAction342___init(val_t self, int* init_table) {
24171 struct trace_t trace = {NULL, "parser::ReduceAction342::init (src/parser//parser.nit:12699,1--4)"};
24172 trace.prev = tracehead; tracehead = &trace;
24173 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction342].i]) return;
24174 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction342].i] = 1;
24175 tracehead = trace.prev;
24176 return;
24177 }
24178 void parser___ReduceAction343___action(val_t self, val_t param0) {
24179 struct trace_t trace = {NULL, "parser::ReduceAction343::action (src/parser//parser.nit:12703,2--12728:34)"};
24180 val_t variable0;
24181 val_t variable1;
24182 val_t variable2;
24183 val_t variable3;
24184 val_t variable4;
24185 val_t variable5;
24186 val_t variable6;
24187 val_t variable7;
24188 val_t variable8;
24189 val_t variable9;
24190 val_t variable10;
24191 val_t variable11;
24192 trace.prev = tracehead; tracehead = &trace;
24193 variable0 = param0;
24194 variable1 = NIT_NULL /*null*/;
24195 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24196 variable2 = variable3;
24197 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24198 variable3 = variable4;
24199 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24200 variable4 = variable5;
24201 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24202 variable5 = variable6;
24203 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24204 variable6 = variable7;
24205 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24206 variable7 = variable8;
24207 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
24208 variable8 = variable9;
24209 variable9 = variable5 /*nodearraylist3*/;
24210 variable10 = TAG_Bool(( variable9 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24211 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12714,6--32\n"); nit_exit(1);}
24212 variable10 = variable3 /*nodearraylist5*/;
24213 variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24214 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12716,6--38\n"); nit_exit(1);}
24215 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable9 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
24216 if (UNTAG_Bool(variable11)) { /*if*/
24217 ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/, variable9 /*pexprnode1*/) /*Array::add*/;
24218 }
24219 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ == NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
24220 if (UNTAG_Bool(variable11)) { /*if*/
24221 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/;
24222 if (UNTAG_Bool(variable11)) { /*if*/
24223 variable8 = variable10 /*listnode2*/ /*listnode3=*/;
24224 } else { /*if*/
24225 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/, variable10 /*listnode2*/) /*Array::append*/;
24226 }
24227 }
24228 variable1 = variable8 /*listnode3*/ /*node_list=*/;
24229 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(54)) /*Parser::go_to*/;
24230 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
24231 tracehead = trace.prev;
24232 return;
24233 }
24234 void parser___ReduceAction343___init(val_t self, int* init_table) {
24235 struct trace_t trace = {NULL, "parser::ReduceAction343::init (src/parser//parser.nit:12730,1--4)"};
24236 trace.prev = tracehead; tracehead = &trace;
24237 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction343].i]) return;
24238 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction343].i] = 1;
24239 tracehead = trace.prev;
24240 return;
24241 }
24242 void parser___ReduceAction344___action(val_t self, val_t param0) {
24243 struct trace_t trace = {NULL, "parser::ReduceAction344::action (src/parser//parser.nit:12734,2--12742:34)"};
24244 val_t variable0;
24245 val_t variable1;
24246 val_t variable2;
24247 val_t variable3;
24248 val_t variable4;
24249 val_t variable5;
24250 val_t variable6;
24251 trace.prev = tracehead; tracehead = &trace;
24252 variable0 = param0;
24253 variable1 = NIT_NULL /*null*/;
24254 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24255 variable2 = variable3;
24256 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24257 variable3 = variable4;
24258 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24259 variable4 = variable5;
24260 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
24261 variable5 = variable6;
24262 variable1 = variable5 /*listnode1*/ /*node_list=*/;
24263 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(54)) /*Parser::go_to*/;
24264 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
24265 tracehead = trace.prev;
24266 return;
24267 }
24268 void parser___ReduceAction344___init(val_t self, int* init_table) {
24269 struct trace_t trace = {NULL, "parser::ReduceAction344::init (src/parser//parser.nit:12744,1--4)"};
24270 trace.prev = tracehead; tracehead = &trace;
24271 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction344].i]) return;
24272 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction344].i] = 1;
24273 tracehead = trace.prev;
24274 return;
24275 }
24276 void parser___ReduceAction345___action(val_t self, val_t param0) {
24277 struct trace_t trace = {NULL, "parser::ReduceAction345::action (src/parser//parser.nit:12748,2--12753:34)"};
24278 val_t variable0;
24279 val_t variable1;
24280 val_t variable2;
24281 val_t variable3;
24282 trace.prev = tracehead; tracehead = &trace;
24283 variable0 = param0;
24284 variable1 = NIT_NULL /*null*/;
24285 variable3 = NEW_array___Array___init(); /*new Array[Object]*/
24286 variable2 = variable3;
24287 variable1 = variable2 /*listnode1*/ /*node_list=*/;
24288 variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(54)) /*Parser::go_to*/;
24289 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/;
24290 tracehead = trace.prev;
24291 return;
24292 }
24293 void parser___ReduceAction345___init(val_t self, int* init_table) {
24294 struct trace_t trace = {NULL, "parser::ReduceAction345::init (src/parser//parser.nit:12755,1--4)"};
24295 trace.prev = tracehead; tracehead = &trace;
24296 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction345].i]) return;
24297 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction345].i] = 1;
24298 tracehead = trace.prev;
24299 return;
24300 }
24301 void parser___ReduceAction346___action(val_t self, val_t param0) {
24302 struct trace_t trace = {NULL, "parser::ReduceAction346::action (src/parser//parser.nit:12759,2--12774:34)"};
24303 val_t variable0;
24304 val_t variable1;
24305 val_t variable2;
24306 val_t variable3;
24307 val_t variable4;
24308 val_t variable5;
24309 val_t variable6;
24310 val_t variable7;
24311 val_t variable8;
24312 val_t variable9;
24313 trace.prev = tracehead; tracehead = &trace;
24314 variable0 = param0;
24315 variable1 = NIT_NULL /*null*/;
24316 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24317 variable2 = variable3;
24318 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24319 variable3 = variable4;
24320 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24321 variable4 = variable5;
24322 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24323 variable5 = variable6;
24324 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24325 variable6 = variable7;
24326 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
24327 variable7 = variable8;
24328 variable8 = variable4 /*nodearraylist3*/;
24329 variable9 = TAG_Bool(( variable8 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24330 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12769,6--32\n"); nit_exit(1);}
24331 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
24332 if (UNTAG_Bool(variable9)) { /*if*/
24333 ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/, variable8 /*pexprnode1*/) /*Array::add*/;
24334 }
24335 variable1 = variable7 /*listnode2*/ /*node_list=*/;
24336 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(55)) /*Parser::go_to*/;
24337 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
24338 tracehead = trace.prev;
24339 return;
24340 }
24341 void parser___ReduceAction346___init(val_t self, int* init_table) {
24342 struct trace_t trace = {NULL, "parser::ReduceAction346::init (src/parser//parser.nit:12776,1--4)"};
24343 trace.prev = tracehead; tracehead = &trace;
24344 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction346].i]) return;
24345 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction346].i] = 1;
24346 tracehead = trace.prev;
24347 return;
24348 }
24349 void parser___ReduceAction347___action(val_t self, val_t param0) {
24350 struct trace_t trace = {NULL, "parser::ReduceAction347::action (src/parser//parser.nit:12780,2--12805:34)"};
24351 val_t variable0;
24352 val_t variable1;
24353 val_t variable2;
24354 val_t variable3;
24355 val_t variable4;
24356 val_t variable5;
24357 val_t variable6;
24358 val_t variable7;
24359 val_t variable8;
24360 val_t variable9;
24361 val_t variable10;
24362 val_t variable11;
24363 trace.prev = tracehead; tracehead = &trace;
24364 variable0 = param0;
24365 variable1 = NIT_NULL /*null*/;
24366 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24367 variable2 = variable3;
24368 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24369 variable3 = variable4;
24370 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24371 variable4 = variable5;
24372 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24373 variable5 = variable6;
24374 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24375 variable6 = variable7;
24376 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24377 variable7 = variable8;
24378 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
24379 variable8 = variable9;
24380 variable9 = variable5 /*nodearraylist3*/;
24381 variable10 = TAG_Bool(( variable9 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24382 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12791,6--32\n"); nit_exit(1);}
24383 variable10 = variable3 /*nodearraylist5*/;
24384 variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24385 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12793,6--38\n"); nit_exit(1);}
24386 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable9 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
24387 if (UNTAG_Bool(variable11)) { /*if*/
24388 ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/, variable9 /*pexprnode1*/) /*Array::add*/;
24389 }
24390 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ == NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
24391 if (UNTAG_Bool(variable11)) { /*if*/
24392 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/;
24393 if (UNTAG_Bool(variable11)) { /*if*/
24394 variable8 = variable10 /*listnode2*/ /*listnode3=*/;
24395 } else { /*if*/
24396 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/, variable10 /*listnode2*/) /*Array::append*/;
24397 }
24398 }
24399 variable1 = variable8 /*listnode3*/ /*node_list=*/;
24400 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(55)) /*Parser::go_to*/;
24401 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
24402 tracehead = trace.prev;
24403 return;
24404 }
24405 void parser___ReduceAction347___init(val_t self, int* init_table) {
24406 struct trace_t trace = {NULL, "parser::ReduceAction347::init (src/parser//parser.nit:12807,1--4)"};
24407 trace.prev = tracehead; tracehead = &trace;
24408 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction347].i]) return;
24409 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction347].i] = 1;
24410 tracehead = trace.prev;
24411 return;
24412 }
24413 void parser___ReduceAction348___action(val_t self, val_t param0) {
24414 struct trace_t trace = {NULL, "parser::ReduceAction348::action (src/parser//parser.nit:12811,2--12822:34)"};
24415 val_t variable0;
24416 val_t variable1;
24417 val_t variable2;
24418 val_t variable3;
24419 val_t variable4;
24420 val_t variable5;
24421 trace.prev = tracehead; tracehead = &trace;
24422 variable0 = param0;
24423 variable1 = NIT_NULL /*null*/;
24424 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24425 variable2 = variable3;
24426 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
24427 variable3 = variable4;
24428 variable4 = variable2 /*nodearraylist1*/;
24429 variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24430 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12817,6--32\n"); nit_exit(1);}
24431 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
24432 if (UNTAG_Bool(variable5)) { /*if*/
24433 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pexprnode1*/) /*Array::add*/;
24434 }
24435 variable1 = variable3 /*listnode2*/ /*node_list=*/;
24436 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(55)) /*Parser::go_to*/;
24437 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
24438 tracehead = trace.prev;
24439 return;
24440 }
24441 void parser___ReduceAction348___init(val_t self, int* init_table) {
24442 struct trace_t trace = {NULL, "parser::ReduceAction348::init (src/parser//parser.nit:12824,1--4)"};
24443 trace.prev = tracehead; tracehead = &trace;
24444 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction348].i]) return;
24445 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction348].i] = 1;
24446 tracehead = trace.prev;
24447 return;
24448 }
24449 void parser___ReduceAction349___action(val_t self, val_t param0) {
24450 struct trace_t trace = {NULL, "parser::ReduceAction349::action (src/parser//parser.nit:12828,2--12836:34)"};
24451 val_t variable0;
24452 val_t variable1;
24453 val_t variable2;
24454 val_t variable3;
24455 val_t variable4;
24456 val_t variable5;
24457 val_t variable6;
24458 trace.prev = tracehead; tracehead = &trace;
24459 variable0 = param0;
24460 variable1 = NIT_NULL /*null*/;
24461 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24462 variable2 = variable3;
24463 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24464 variable3 = variable4;
24465 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24466 variable4 = variable5;
24467 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
24468 variable5 = variable6;
24469 variable1 = variable5 /*listnode1*/ /*node_list=*/;
24470 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(55)) /*Parser::go_to*/;
24471 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
24472 tracehead = trace.prev;
24473 return;
24474 }
24475 void parser___ReduceAction349___init(val_t self, int* init_table) {
24476 struct trace_t trace = {NULL, "parser::ReduceAction349::init (src/parser//parser.nit:12838,1--4)"};
24477 trace.prev = tracehead; tracehead = &trace;
24478 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction349].i]) return;
24479 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction349].i] = 1;
24480 tracehead = trace.prev;
24481 return;
24482 }
24483 void parser___ReduceAction350___action(val_t self, val_t param0) {
24484 struct trace_t trace = {NULL, "parser::ReduceAction350::action (src/parser//parser.nit:12842,2--12847:34)"};
24485 val_t variable0;
24486 val_t variable1;
24487 val_t variable2;
24488 val_t variable3;
24489 trace.prev = tracehead; tracehead = &trace;
24490 variable0 = param0;
24491 variable1 = NIT_NULL /*null*/;
24492 variable3 = NEW_array___Array___init(); /*new Array[Object]*/
24493 variable2 = variable3;
24494 variable1 = variable2 /*listnode1*/ /*node_list=*/;
24495 variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(55)) /*Parser::go_to*/;
24496 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/;
24497 tracehead = trace.prev;
24498 return;
24499 }
24500 void parser___ReduceAction350___init(val_t self, int* init_table) {
24501 struct trace_t trace = {NULL, "parser::ReduceAction350::init (src/parser//parser.nit:12849,1--4)"};
24502 trace.prev = tracehead; tracehead = &trace;
24503 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction350].i]) return;
24504 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction350].i] = 1;
24505 tracehead = trace.prev;
24506 return;
24507 }
24508 void parser___ReduceAction351___action(val_t self, val_t param0) {
24509 struct trace_t trace = {NULL, "parser::ReduceAction351::action (src/parser//parser.nit:12853,2--12868:34)"};
24510 val_t variable0;
24511 val_t variable1;
24512 val_t variable2;
24513 val_t variable3;
24514 val_t variable4;
24515 val_t variable5;
24516 val_t variable6;
24517 val_t variable7;
24518 val_t variable8;
24519 val_t variable9;
24520 trace.prev = tracehead; tracehead = &trace;
24521 variable0 = param0;
24522 variable1 = NIT_NULL /*null*/;
24523 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24524 variable2 = variable3;
24525 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24526 variable3 = variable4;
24527 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24528 variable4 = variable5;
24529 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24530 variable5 = variable6;
24531 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24532 variable6 = variable7;
24533 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
24534 variable7 = variable8;
24535 variable8 = variable4 /*nodearraylist3*/;
24536 variable9 = TAG_Bool(( variable8 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24537 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12863,6--32\n"); nit_exit(1);}
24538 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
24539 if (UNTAG_Bool(variable9)) { /*if*/
24540 ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/, variable8 /*pexprnode1*/) /*Array::add*/;
24541 }
24542 variable1 = variable7 /*listnode2*/ /*node_list=*/;
24543 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(56)) /*Parser::go_to*/;
24544 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
24545 tracehead = trace.prev;
24546 return;
24547 }
24548 void parser___ReduceAction351___init(val_t self, int* init_table) {
24549 struct trace_t trace = {NULL, "parser::ReduceAction351::init (src/parser//parser.nit:12870,1--4)"};
24550 trace.prev = tracehead; tracehead = &trace;
24551 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction351].i]) return;
24552 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction351].i] = 1;
24553 tracehead = trace.prev;
24554 return;
24555 }
24556 void parser___ReduceAction352___action(val_t self, val_t param0) {
24557 struct trace_t trace = {NULL, "parser::ReduceAction352::action (src/parser//parser.nit:12874,2--12899:34)"};
24558 val_t variable0;
24559 val_t variable1;
24560 val_t variable2;
24561 val_t variable3;
24562 val_t variable4;
24563 val_t variable5;
24564 val_t variable6;
24565 val_t variable7;
24566 val_t variable8;
24567 val_t variable9;
24568 val_t variable10;
24569 val_t variable11;
24570 trace.prev = tracehead; tracehead = &trace;
24571 variable0 = param0;
24572 variable1 = NIT_NULL /*null*/;
24573 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24574 variable2 = variable3;
24575 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24576 variable3 = variable4;
24577 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24578 variable4 = variable5;
24579 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24580 variable5 = variable6;
24581 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24582 variable6 = variable7;
24583 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24584 variable7 = variable8;
24585 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
24586 variable8 = variable9;
24587 variable9 = variable5 /*nodearraylist3*/;
24588 variable10 = TAG_Bool(( variable9 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24589 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12885,6--32\n"); nit_exit(1);}
24590 variable10 = variable3 /*nodearraylist5*/;
24591 variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24592 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12887,6--38\n"); nit_exit(1);}
24593 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable9 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
24594 if (UNTAG_Bool(variable11)) { /*if*/
24595 ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/, variable9 /*pexprnode1*/) /*Array::add*/;
24596 }
24597 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ == NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
24598 if (UNTAG_Bool(variable11)) { /*if*/
24599 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/;
24600 if (UNTAG_Bool(variable11)) { /*if*/
24601 variable8 = variable10 /*listnode2*/ /*listnode3=*/;
24602 } else { /*if*/
24603 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/, variable10 /*listnode2*/) /*Array::append*/;
24604 }
24605 }
24606 variable1 = variable8 /*listnode3*/ /*node_list=*/;
24607 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(56)) /*Parser::go_to*/;
24608 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
24609 tracehead = trace.prev;
24610 return;
24611 }
24612 void parser___ReduceAction352___init(val_t self, int* init_table) {
24613 struct trace_t trace = {NULL, "parser::ReduceAction352::init (src/parser//parser.nit:12901,1--4)"};
24614 trace.prev = tracehead; tracehead = &trace;
24615 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction352].i]) return;
24616 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction352].i] = 1;
24617 tracehead = trace.prev;
24618 return;
24619 }
24620 void parser___ReduceAction353___action(val_t self, val_t param0) {
24621 struct trace_t trace = {NULL, "parser::ReduceAction353::action (src/parser//parser.nit:12905,2--12915:34)"};
24622 val_t variable0;
24623 val_t variable1;
24624 val_t variable2;
24625 val_t variable3;
24626 val_t variable4;
24627 val_t variable5;
24628 val_t variable6;
24629 val_t variable7;
24630 trace.prev = tracehead; tracehead = &trace;
24631 variable0 = param0;
24632 variable1 = NIT_NULL /*null*/;
24633 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24634 variable2 = variable3;
24635 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24636 variable3 = variable4;
24637 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24638 variable4 = variable5;
24639 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24640 variable5 = variable6;
24641 variable6 = variable3 /*nodearraylist3*/;
24642 variable7 = TAG_Bool(( variable6 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
24643 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12913,6--32\n"); nit_exit(1);}
24644 variable1 = variable6 /*pexprnode1*/ /*node_list=*/;
24645 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(57)) /*Parser::go_to*/;
24646 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
24647 tracehead = trace.prev;
24648 return;
24649 }
24650 void parser___ReduceAction353___init(val_t self, int* init_table) {
24651 struct trace_t trace = {NULL, "parser::ReduceAction353::init (src/parser//parser.nit:12917,1--4)"};
24652 trace.prev = tracehead; tracehead = &trace;
24653 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction353].i]) return;
24654 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction353].i] = 1;
24655 tracehead = trace.prev;
24656 return;
24657 }
24658 void parser___ReduceAction354___action(val_t self, val_t param0) {
24659 struct trace_t trace = {NULL, "parser::ReduceAction354::action (src/parser//parser.nit:12921,2--12933:34)"};
24660 val_t variable0;
24661 val_t variable1;
24662 val_t variable2;
24663 val_t variable3;
24664 val_t variable4;
24665 val_t variable5;
24666 val_t variable6;
24667 trace.prev = tracehead; tracehead = &trace;
24668 variable0 = param0;
24669 variable1 = NIT_NULL /*null*/;
24670 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24671 variable2 = variable3;
24672 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
24673 variable3 = variable4;
24674 variable4 = variable2 /*nodearraylist1*/;
24675 variable5 = TAG_Bool(( variable4 /*tclassidnode3*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode3*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
24676 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12927,6--38\n"); nit_exit(1);}
24677 variable6 = NEW_parser_prod___AQualified___init_aqualified( variable3 /*listnode2*/, variable4 /*tclassidnode3*/); /*new AQualified*/
24678 variable5 = variable6;
24679 variable1 = variable5 /*pqualifiednode1*/ /*node_list=*/;
24680 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(58)) /*Parser::go_to*/;
24681 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
24682 tracehead = trace.prev;
24683 return;
24684 }
24685 void parser___ReduceAction354___init(val_t self, int* init_table) {
24686 struct trace_t trace = {NULL, "parser::ReduceAction354::init (src/parser//parser.nit:12935,1--4)"};
24687 trace.prev = tracehead; tracehead = &trace;
24688 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction354].i]) return;
24689 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction354].i] = 1;
24690 tracehead = trace.prev;
24691 return;
24692 }
24693 void parser___ReduceAction355___action(val_t self, val_t param0) {
24694 struct trace_t trace = {NULL, "parser::ReduceAction355::action (src/parser//parser.nit:12939,2--12961:34)"};
24695 val_t variable0;
24696 val_t variable1;
24697 val_t variable2;
24698 val_t variable3;
24699 val_t variable4;
24700 val_t variable5;
24701 val_t variable6;
24702 val_t variable7;
24703 val_t variable8;
24704 trace.prev = tracehead; tracehead = &trace;
24705 variable0 = param0;
24706 variable1 = NIT_NULL /*null*/;
24707 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24708 variable2 = variable3;
24709 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24710 variable3 = variable4;
24711 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
24712 variable4 = variable5;
24713 variable5 = variable3 /*nodearraylist1*/;
24714 variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24715 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12946,6--38\n"); nit_exit(1);}
24716 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ == NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
24717 if (UNTAG_Bool(variable6)) { /*if*/
24718 variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
24719 if (UNTAG_Bool(variable6)) { /*if*/
24720 variable4 = variable5 /*listnode2*/ /*listnode3=*/;
24721 } else { /*if*/
24722 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode2*/) /*Array::append*/;
24723 }
24724 }
24725 variable6 = variable2 /*nodearraylist2*/;
24726 variable7 = TAG_Bool(( variable6 /*tclassidnode4*/==NIT_NULL) || VAL_ISA( variable6 /*tclassidnode4*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
24727 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12955,6--38\n"); nit_exit(1);}
24728 variable8 = NEW_parser_prod___AQualified___init_aqualified( variable4 /*listnode3*/, variable6 /*tclassidnode4*/); /*new AQualified*/
24729 variable7 = variable8;
24730 variable1 = variable7 /*pqualifiednode1*/ /*node_list=*/;
24731 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(58)) /*Parser::go_to*/;
24732 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
24733 tracehead = trace.prev;
24734 return;
24735 }
24736 void parser___ReduceAction355___init(val_t self, int* init_table) {
24737 struct trace_t trace = {NULL, "parser::ReduceAction355::init (src/parser//parser.nit:12963,1--4)"};
24738 trace.prev = tracehead; tracehead = &trace;
24739 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction355].i]) return;
24740 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction355].i] = 1;
24741 tracehead = trace.prev;
24742 return;
24743 }
24744 void parser___ReduceAction356___action(val_t self, val_t param0) {
24745 struct trace_t trace = {NULL, "parser::ReduceAction356::action (src/parser//parser.nit:12967,2--12986:34)"};
24746 val_t variable0;
24747 val_t variable1;
24748 val_t variable2;
24749 val_t variable3;
24750 val_t variable4;
24751 val_t variable5;
24752 val_t variable6;
24753 trace.prev = tracehead; tracehead = &trace;
24754 variable0 = param0;
24755 variable1 = NIT_NULL /*null*/;
24756 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24757 variable2 = variable3;
24758 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
24759 variable3 = variable4;
24760 variable4 = variable2 /*nodearraylist1*/;
24761 variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24762 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12973,6--38\n"); nit_exit(1);}
24763 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ == NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
24764 if (UNTAG_Bool(variable5)) { /*if*/
24765 variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*Array::is_empty*/;
24766 if (UNTAG_Bool(variable5)) { /*if*/
24767 variable3 = variable4 /*listnode2*/ /*listnode3=*/;
24768 } else { /*if*/
24769 ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/, variable4 /*listnode2*/) /*Array::append*/;
24770 }
24771 }
24772 variable6 = NEW_parser_prod___AQualified___init_aqualified( variable3 /*listnode3*/, NIT_NULL /*null*/); /*new AQualified*/
24773 variable5 = variable6;
24774 variable1 = variable5 /*pqualifiednode1*/ /*node_list=*/;
24775 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(58)) /*Parser::go_to*/;
24776 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
24777 tracehead = trace.prev;
24778 return;
24779 }
24780 void parser___ReduceAction356___init(val_t self, int* init_table) {
24781 struct trace_t trace = {NULL, "parser::ReduceAction356::init (src/parser//parser.nit:12988,1--4)"};
24782 trace.prev = tracehead; tracehead = &trace;
24783 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction356].i]) return;
24784 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction356].i] = 1;
24785 tracehead = trace.prev;
24786 return;
24787 }
24788 void parser___ReduceAction357___action(val_t self, val_t param0) {
24789 struct trace_t trace = {NULL, "parser::ReduceAction357::action (src/parser//parser.nit:12992,2--13001:34)"};
24790 val_t variable0;
24791 val_t variable1;
24792 val_t variable2;
24793 val_t variable3;
24794 val_t variable4;
24795 val_t variable5;
24796 val_t variable6;
24797 trace.prev = tracehead; tracehead = &trace;
24798 variable0 = param0;
24799 variable1 = NIT_NULL /*null*/;
24800 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24801 variable2 = variable3;
24802 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24803 variable3 = variable4;
24804 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24805 variable4 = variable5;
24806 variable5 = variable4 /*nodearraylist1*/;
24807 variable6 = TAG_Bool(( variable5 /*tidnode1*/==NIT_NULL) || VAL_ISA( variable5 /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
24808 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12999,6--28\n"); nit_exit(1);}
24809 variable1 = variable5 /*tidnode1*/ /*node_list=*/;
24810 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(59)) /*Parser::go_to*/;
24811 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
24812 tracehead = trace.prev;
24813 return;
24814 }
24815 void parser___ReduceAction357___init(val_t self, int* init_table) {
24816 struct trace_t trace = {NULL, "parser::ReduceAction357::init (src/parser//parser.nit:13003,1--4)"};
24817 trace.prev = tracehead; tracehead = &trace;
24818 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction357].i]) return;
24819 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction357].i] = 1;
24820 tracehead = trace.prev;
24821 return;
24822 }
24823 void parser___ReduceAction358___action(val_t self, val_t param0) {
24824 struct trace_t trace = {NULL, "parser::ReduceAction358::action (src/parser//parser.nit:13007,2--13016:34)"};
24825 val_t variable0;
24826 val_t variable1;
24827 val_t variable2;
24828 val_t variable3;
24829 val_t variable4;
24830 val_t variable5;
24831 val_t variable6;
24832 trace.prev = tracehead; tracehead = &trace;
24833 variable0 = param0;
24834 variable1 = NIT_NULL /*null*/;
24835 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24836 variable2 = variable3;
24837 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24838 variable3 = variable4;
24839 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24840 variable4 = variable5;
24841 variable5 = variable4 /*nodearraylist1*/;
24842 variable6 = TAG_Bool(( variable5 /*tclassidnode1*/==NIT_NULL) || VAL_ISA( variable5 /*tclassidnode1*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
24843 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13014,6--38\n"); nit_exit(1);}
24844 variable1 = variable5 /*tclassidnode1*/ /*node_list=*/;
24845 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(60)) /*Parser::go_to*/;
24846 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
24847 tracehead = trace.prev;
24848 return;
24849 }
24850 void parser___ReduceAction358___init(val_t self, int* init_table) {
24851 struct trace_t trace = {NULL, "parser::ReduceAction358::init (src/parser//parser.nit:13018,1--4)"};
24852 trace.prev = tracehead; tracehead = &trace;
24853 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction358].i]) return;
24854 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction358].i] = 1;
24855 tracehead = trace.prev;
24856 return;
24857 }
24858 void parser___ReduceAction359___action(val_t self, val_t param0) {
24859 struct trace_t trace = {NULL, "parser::ReduceAction359::action (src/parser//parser.nit:13022,2--13026:34)"};
24860 val_t variable0;
24861 val_t variable1;
24862 val_t variable2;
24863 val_t variable3;
24864 trace.prev = tracehead; tracehead = &trace;
24865 variable0 = param0;
24866 variable1 = NIT_NULL /*null*/;
24867 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24868 variable2 = variable3;
24869 variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(61)) /*Parser::go_to*/;
24870 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/;
24871 tracehead = trace.prev;
24872 return;
24873 }
24874 void parser___ReduceAction359___init(val_t self, int* init_table) {
24875 struct trace_t trace = {NULL, "parser::ReduceAction359::init (src/parser//parser.nit:13028,1--4)"};
24876 trace.prev = tracehead; tracehead = &trace;
24877 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction359].i]) return;
24878 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction359].i] = 1;
24879 tracehead = trace.prev;
24880 return;
24881 }
24882 void parser___ReduceAction360___action(val_t self, val_t param0) {
24883 struct trace_t trace = {NULL, "parser::ReduceAction360::action (src/parser//parser.nit:13032,2--13036:34)"};
24884 val_t variable0;
24885 val_t variable1;
24886 val_t variable2;
24887 val_t variable3;
24888 trace.prev = tracehead; tracehead = &trace;
24889 variable0 = param0;
24890 variable1 = NIT_NULL /*null*/;
24891 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24892 variable2 = variable3;
24893 variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(61)) /*Parser::go_to*/;
24894 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/;
24895 tracehead = trace.prev;
24896 return;
24897 }
24898 void parser___ReduceAction360___init(val_t self, int* init_table) {
24899 struct trace_t trace = {NULL, "parser::ReduceAction360::init (src/parser//parser.nit:13038,1--4)"};
24900 trace.prev = tracehead; tracehead = &trace;
24901 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction360].i]) return;
24902 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction360].i] = 1;
24903 tracehead = trace.prev;
24904 return;
24905 }
24906 void parser___ReduceAction361___action(val_t self, val_t param0) {
24907 struct trace_t trace = {NULL, "parser::ReduceAction361::action (src/parser//parser.nit:13042,2--13060:34)"};
24908 val_t variable0;
24909 val_t variable1;
24910 val_t variable2;
24911 val_t variable3;
24912 val_t variable4;
24913 val_t variable5;
24914 val_t variable6;
24915 trace.prev = tracehead; tracehead = &trace;
24916 variable0 = param0;
24917 variable1 = NIT_NULL /*null*/;
24918 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24919 variable2 = variable3;
24920 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
24921 variable3 = variable4;
24922 variable4 = variable2 /*nodearraylist1*/;
24923 variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24924 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13048,6--38\n"); nit_exit(1);}
24925 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ == NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
24926 if (UNTAG_Bool(variable5)) { /*if*/
24927 variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*Array::is_empty*/;
24928 if (UNTAG_Bool(variable5)) { /*if*/
24929 variable3 = variable4 /*listnode2*/ /*listnode3=*/;
24930 } else { /*if*/
24931 ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/, variable4 /*listnode2*/) /*Array::append*/;
24932 }
24933 }
24934 variable6 = NEW_parser_prod___ADoc___init_adoc( variable3 /*listnode3*/); /*new ADoc*/
24935 variable5 = variable6;
24936 variable1 = variable5 /*pdocnode1*/ /*node_list=*/;
24937 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(62)) /*Parser::go_to*/;
24938 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
24939 tracehead = trace.prev;
24940 return;
24941 }
24942 void parser___ReduceAction361___init(val_t self, int* init_table) {
24943 struct trace_t trace = {NULL, "parser::ReduceAction361::init (src/parser//parser.nit:13062,1--4)"};
24944 trace.prev = tracehead; tracehead = &trace;
24945 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction361].i]) return;
24946 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction361].i] = 1;
24947 tracehead = trace.prev;
24948 return;
24949 }
24950 void parser___ReduceAction362___action(val_t self, val_t param0) {
24951 struct trace_t trace = {NULL, "parser::ReduceAction362::action (src/parser//parser.nit:13066,2--13085:34)"};
24952 val_t variable0;
24953 val_t variable1;
24954 val_t variable2;
24955 val_t variable3;
24956 val_t variable4;
24957 val_t variable5;
24958 val_t variable6;
24959 val_t variable7;
24960 trace.prev = tracehead; tracehead = &trace;
24961 variable0 = param0;
24962 variable1 = NIT_NULL /*null*/;
24963 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24964 variable2 = variable3;
24965 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
24966 variable3 = variable4;
24967 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
24968 variable4 = variable5;
24969 variable5 = variable2 /*nodearraylist2*/;
24970 variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
24971 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13073,6--38\n"); nit_exit(1);}
24972 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ == NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
24973 if (UNTAG_Bool(variable6)) { /*if*/
24974 variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
24975 if (UNTAG_Bool(variable6)) { /*if*/
24976 variable4 = variable5 /*listnode2*/ /*listnode3=*/;
24977 } else { /*if*/
24978 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode2*/) /*Array::append*/;
24979 }
24980 }
24981 variable7 = NEW_parser_prod___ADoc___init_adoc( variable4 /*listnode3*/); /*new ADoc*/
24982 variable6 = variable7;
24983 variable1 = variable6 /*pdocnode1*/ /*node_list=*/;
24984 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(62)) /*Parser::go_to*/;
24985 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
24986 tracehead = trace.prev;
24987 return;
24988 }
24989 void parser___ReduceAction362___init(val_t self, int* init_table) {
24990 struct trace_t trace = {NULL, "parser::ReduceAction362::init (src/parser//parser.nit:13087,1--4)"};
24991 trace.prev = tracehead; tracehead = &trace;
24992 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction362].i]) return;
24993 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction362].i] = 1;
24994 tracehead = trace.prev;
24995 return;
24996 }
24997 void parser___ReduceAction363___action(val_t self, val_t param0) {
24998 struct trace_t trace = {NULL, "parser::ReduceAction363::action (src/parser//parser.nit:13091,2--13096:34)"};
24999 val_t variable0;
25000 val_t variable1;
25001 val_t variable2;
25002 val_t variable3;
25003 trace.prev = tracehead; tracehead = &trace;
25004 variable0 = param0;
25005 variable1 = NIT_NULL /*null*/;
25006 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25007 variable2 = variable3;
25008 variable1 = NIT_NULL /*null*/ /*node_list=*/;
25009 variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(62)) /*Parser::go_to*/;
25010 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/;
25011 tracehead = trace.prev;
25012 return;
25013 }
25014 void parser___ReduceAction363___init(val_t self, int* init_table) {
25015 struct trace_t trace = {NULL, "parser::ReduceAction363::init (src/parser//parser.nit:13098,1--4)"};
25016 trace.prev = tracehead; tracehead = &trace;
25017 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction363].i]) return;
25018 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction363].i] = 1;
25019 tracehead = trace.prev;
25020 return;
25021 }
25022 void parser___ReduceAction364___action(val_t self, val_t param0) {
25023 struct trace_t trace = {NULL, "parser::ReduceAction364::action (src/parser//parser.nit:13102,2--13106:34)"};
25024 val_t variable0;
25025 val_t variable1;
25026 val_t variable2;
25027 trace.prev = tracehead; tracehead = &trace;
25028 variable0 = param0;
25029 variable1 = NIT_NULL /*null*/;
25030 variable1 = NIT_NULL /*null*/ /*node_list=*/;
25031 variable2 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(63)) /*Parser::go_to*/;
25032 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable2, variable1 /*node_list*/) /*Parser::push*/;
25033 tracehead = trace.prev;
25034 return;
25035 }
25036 void parser___ReduceAction364___init(val_t self, int* init_table) {
25037 struct trace_t trace = {NULL, "parser::ReduceAction364::init (src/parser//parser.nit:13108,1--4)"};
25038 trace.prev = tracehead; tracehead = &trace;
25039 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction364].i]) return;
25040 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction364].i] = 1;
25041 tracehead = trace.prev;
25042 return;
25043 }
25044 void parser___ReduceAction365___action(val_t self, val_t param0) {
25045 struct trace_t trace = {NULL, "parser::ReduceAction365::action (src/parser//parser.nit:13112,2--13119:34)"};
25046 val_t variable0;
25047 val_t variable1;
25048 val_t variable2;
25049 val_t variable3;
25050 val_t variable4;
25051 trace.prev = tracehead; tracehead = &trace;
25052 variable0 = param0;
25053 variable1 = NIT_NULL /*null*/;
25054 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25055 variable2 = variable3;
25056 variable3 = variable2 /*nodearraylist1*/;
25057 variable4 = TAG_Bool(( variable3 /*pdocnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pdocnode1*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25058 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13117,6--30\n"); nit_exit(1);}
25059 variable1 = variable3 /*pdocnode1*/ /*node_list=*/;
25060 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(63)) /*Parser::go_to*/;
25061 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
25062 tracehead = trace.prev;
25063 return;
25064 }
25065 void parser___ReduceAction365___init(val_t self, int* init_table) {
25066 struct trace_t trace = {NULL, "parser::ReduceAction365::init (src/parser//parser.nit:13121,1--4)"};
25067 trace.prev = tracehead; tracehead = &trace;
25068 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction365].i]) return;
25069 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction365].i] = 1;
25070 tracehead = trace.prev;
25071 return;
25072 }
25073 void parser___ReduceAction366___action(val_t self, val_t param0) {
25074 struct trace_t trace = {NULL, "parser::ReduceAction366::action (src/parser//parser.nit:13125,2--13130:34)"};
25075 val_t variable0;
25076 val_t variable1;
25077 val_t variable2;
25078 val_t variable3;
25079 val_t variable4;
25080 trace.prev = tracehead; tracehead = &trace;
25081 variable0 = param0;
25082 variable1 = NIT_NULL /*null*/;
25083 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25084 variable2 = variable3;
25085 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25086 variable3 = variable4;
25087 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(64)) /*Parser::go_to*/;
25088 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
25089 tracehead = trace.prev;
25090 return;
25091 }
25092 void parser___ReduceAction366___init(val_t self, int* init_table) {
25093 struct trace_t trace = {NULL, "parser::ReduceAction366::init (src/parser//parser.nit:13132,1--4)"};
25094 trace.prev = tracehead; tracehead = &trace;
25095 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction366].i]) return;
25096 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction366].i] = 1;
25097 tracehead = trace.prev;
25098 return;
25099 }
25100 void parser___ReduceAction367___action(val_t self, val_t param0) {
25101 struct trace_t trace = {NULL, "parser::ReduceAction367::action (src/parser//parser.nit:13136,2--13142:34)"};
25102 val_t variable0;
25103 val_t variable1;
25104 val_t variable2;
25105 val_t variable3;
25106 val_t variable4;
25107 val_t variable5;
25108 trace.prev = tracehead; tracehead = &trace;
25109 variable0 = param0;
25110 variable1 = NIT_NULL /*null*/;
25111 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25112 variable2 = variable3;
25113 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25114 variable3 = variable4;
25115 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25116 variable4 = variable5;
25117 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(64)) /*Parser::go_to*/;
25118 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
25119 tracehead = trace.prev;
25120 return;
25121 }
25122 void parser___ReduceAction367___init(val_t self, int* init_table) {
25123 struct trace_t trace = {NULL, "parser::ReduceAction367::init (src/parser//parser.nit:13144,1--4)"};
25124 trace.prev = tracehead; tracehead = &trace;
25125 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction367].i]) return;
25126 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction367].i] = 1;
25127 tracehead = trace.prev;
25128 return;
25129 }
25130 void parser___ReduceAction368___action(val_t self, val_t param0) {
25131 struct trace_t trace = {NULL, "parser::ReduceAction368::action (src/parser//parser.nit:13148,2--13152:34)"};
25132 val_t variable0;
25133 val_t variable1;
25134 val_t variable2;
25135 val_t variable3;
25136 trace.prev = tracehead; tracehead = &trace;
25137 variable0 = param0;
25138 variable1 = NIT_NULL /*null*/;
25139 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25140 variable2 = variable3;
25141 variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(64)) /*Parser::go_to*/;
25142 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/;
25143 tracehead = trace.prev;
25144 return;
25145 }
25146 void parser___ReduceAction368___init(val_t self, int* init_table) {
25147 struct trace_t trace = {NULL, "parser::ReduceAction368::init (src/parser//parser.nit:13154,1--4)"};
25148 trace.prev = tracehead; tracehead = &trace;
25149 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction368].i]) return;
25150 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction368].i] = 1;
25151 tracehead = trace.prev;
25152 return;
25153 }
25154 void parser___ReduceAction369___action(val_t self, val_t param0) {
25155 struct trace_t trace = {NULL, "parser::ReduceAction369::action (src/parser//parser.nit:13158,2--13170:34)"};
25156 val_t variable0;
25157 val_t variable1;
25158 val_t variable2;
25159 val_t variable3;
25160 val_t variable4;
25161 val_t variable5;
25162 val_t variable6;
25163 trace.prev = tracehead; tracehead = &trace;
25164 variable0 = param0;
25165 variable1 = NIT_NULL /*null*/;
25166 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25167 variable2 = variable3;
25168 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
25169 variable3 = variable4;
25170 variable4 = variable2 /*nodearraylist1*/;
25171 variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
25172 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13164,6--38\n"); nit_exit(1);}
25173 variable6 = NEW_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/, variable3 /*listnode3*/); /*new AType*/
25174 variable5 = variable6;
25175 variable1 = variable5 /*ptypenode1*/ /*node_list=*/;
25176 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(65)) /*Parser::go_to*/;
25177 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
25178 tracehead = trace.prev;
25179 return;
25180 }
25181 void parser___ReduceAction369___init(val_t self, int* init_table) {
25182 struct trace_t trace = {NULL, "parser::ReduceAction369::init (src/parser//parser.nit:13172,1--4)"};
25183 trace.prev = tracehead; tracehead = &trace;
25184 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction369].i]) return;
25185 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction369].i] = 1;
25186 tracehead = trace.prev;
25187 return;
25188 }
25189 void parser___ReduceAction370___action(val_t self, val_t param0) {
25190 struct trace_t trace = {NULL, "parser::ReduceAction370::action (src/parser//parser.nit:13176,2--13183:34)"};
25191 val_t variable0;
25192 val_t variable1;
25193 val_t variable2;
25194 val_t variable3;
25195 val_t variable4;
25196 trace.prev = tracehead; tracehead = &trace;
25197 variable0 = param0;
25198 variable1 = NIT_NULL /*null*/;
25199 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25200 variable2 = variable3;
25201 variable3 = variable2 /*nodearraylist1*/;
25202 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25203 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13181,6--32\n"); nit_exit(1);}
25204 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
25205 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(66)) /*Parser::go_to*/;
25206 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
25207 tracehead = trace.prev;
25208 return;
25209 }
25210 void parser___ReduceAction370___init(val_t self, int* init_table) {
25211 struct trace_t trace = {NULL, "parser::ReduceAction370::init (src/parser//parser.nit:13185,1--4)"};
25212 trace.prev = tracehead; tracehead = &trace;
25213 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction370].i]) return;
25214 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction370].i] = 1;
25215 tracehead = trace.prev;
25216 return;
25217 }
25218 void parser___ReduceAction371___action(val_t self, val_t param0) {
25219 struct trace_t trace = {NULL, "parser::ReduceAction371::action (src/parser//parser.nit:13189,2--13224:34)"};
25220 val_t variable0;
25221 val_t variable1;
25222 val_t variable2;
25223 val_t variable3;
25224 val_t variable4;
25225 val_t variable5;
25226 val_t variable6;
25227 val_t variable7;
25228 val_t variable8;
25229 val_t variable9;
25230 val_t variable10;
25231 val_t variable11;
25232 val_t variable12;
25233 val_t variable13;
25234 val_t variable14;
25235 val_t variable15;
25236 val_t variable16;
25237 val_t variable17;
25238 val_t variable18;
25239 val_t variable19;
25240 val_t variable20;
25241 trace.prev = tracehead; tracehead = &trace;
25242 variable0 = param0;
25243 variable1 = NIT_NULL /*null*/;
25244 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25245 variable2 = variable3;
25246 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25247 variable3 = variable4;
25248 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25249 variable4 = variable5;
25250 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25251 variable5 = variable6;
25252 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25253 variable6 = variable7;
25254 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25255 variable7 = variable8;
25256 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25257 variable8 = variable9;
25258 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25259 variable9 = variable10;
25260 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25261 variable10 = variable11;
25262 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25263 variable11 = variable12;
25264 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25265 variable12 = variable13;
25266 variable13 = variable12 /*nodearraylist1*/;
25267 variable14 = TAG_Bool(( variable13 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable13 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
25268 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13204,6--32\n"); nit_exit(1);}
25269 variable14 = variable10 /*nodearraylist3*/;
25270 variable15 = TAG_Bool(( variable14 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25271 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13206,6--32\n"); nit_exit(1);}
25272 variable15 = variable8 /*nodearraylist5*/;
25273 variable16 = TAG_Bool(( variable15 /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
25274 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13208,6--36\n"); nit_exit(1);}
25275 variable16 = variable6 /*nodearraylist7*/;
25276 variable17 = TAG_Bool(( variable16 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25277 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13210,6--32\n"); nit_exit(1);}
25278 variable17 = variable4 /*nodearraylist9*/;
25279 variable18 = TAG_Bool(( variable17 /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable17 /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
25280 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13212,6--36\n"); nit_exit(1);}
25281 variable18 = variable2 /*nodearraylist11*/;
25282 variable19 = TAG_Bool(( variable18 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25283 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13214,6--32\n"); nit_exit(1);}
25284 variable20 = NEW_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/, variable14 /*pexprnode3*/, variable15 /*tkwthennode4*/, variable16 /*pexprnode5*/, variable17 /*tkwelsenode6*/, variable18 /*pexprnode7*/); /*new AIfexprExpr*/
25285 variable19 = variable20;
25286 variable1 = variable19 /*pexprnode1*/ /*node_list=*/;
25287 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(66)) /*Parser::go_to*/;
25288 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
25289 tracehead = trace.prev;
25290 return;
25291 }
25292 void parser___ReduceAction371___init(val_t self, int* init_table) {
25293 struct trace_t trace = {NULL, "parser::ReduceAction371::init (src/parser//parser.nit:13226,1--4)"};
25294 trace.prev = tracehead; tracehead = &trace;
25295 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction371].i]) return;
25296 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction371].i] = 1;
25297 tracehead = trace.prev;
25298 return;
25299 }
25300 void parser___ReduceAction372___action(val_t self, val_t param0) {
25301 struct trace_t trace = {NULL, "parser::ReduceAction372::action (src/parser//parser.nit:13230,2--13237:34)"};
25302 val_t variable0;
25303 val_t variable1;
25304 val_t variable2;
25305 val_t variable3;
25306 val_t variable4;
25307 trace.prev = tracehead; tracehead = &trace;
25308 variable0 = param0;
25309 variable1 = NIT_NULL /*null*/;
25310 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25311 variable2 = variable3;
25312 variable3 = variable2 /*nodearraylist1*/;
25313 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25314 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13235,6--32\n"); nit_exit(1);}
25315 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
25316 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(67)) /*Parser::go_to*/;
25317 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
25318 tracehead = trace.prev;
25319 return;
25320 }
25321 void parser___ReduceAction372___init(val_t self, int* init_table) {
25322 struct trace_t trace = {NULL, "parser::ReduceAction372::init (src/parser//parser.nit:13239,1--4)"};
25323 trace.prev = tracehead; tracehead = &trace;
25324 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction372].i]) return;
25325 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction372].i] = 1;
25326 tracehead = trace.prev;
25327 return;
25328 }
25329 void parser___ReduceAction373___action(val_t self, val_t param0) {
25330 struct trace_t trace = {NULL, "parser::ReduceAction373::action (src/parser//parser.nit:13243,2--13259:34)"};
25331 val_t variable0;
25332 val_t variable1;
25333 val_t variable2;
25334 val_t variable3;
25335 val_t variable4;
25336 val_t variable5;
25337 val_t variable6;
25338 val_t variable7;
25339 val_t variable8;
25340 val_t variable9;
25341 trace.prev = tracehead; tracehead = &trace;
25342 variable0 = param0;
25343 variable1 = NIT_NULL /*null*/;
25344 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25345 variable2 = variable3;
25346 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25347 variable3 = variable4;
25348 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25349 variable4 = variable5;
25350 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25351 variable5 = variable6;
25352 variable6 = variable5 /*nodearraylist1*/;
25353 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25354 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13251,6--32\n"); nit_exit(1);}
25355 variable7 = variable2 /*nodearraylist4*/;
25356 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25357 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13253,6--32\n"); nit_exit(1);}
25358 variable9 = NEW_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AOrExpr*/
25359 variable8 = variable9;
25360 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
25361 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(67)) /*Parser::go_to*/;
25362 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
25363 tracehead = trace.prev;
25364 return;
25365 }
25366 void parser___ReduceAction373___init(val_t self, int* init_table) {
25367 struct trace_t trace = {NULL, "parser::ReduceAction373::init (src/parser//parser.nit:13261,1--4)"};
25368 trace.prev = tracehead; tracehead = &trace;
25369 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction373].i]) return;
25370 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction373].i] = 1;
25371 tracehead = trace.prev;
25372 return;
25373 }
25374 void parser___ReduceAction374___action(val_t self, val_t param0) {
25375 struct trace_t trace = {NULL, "parser::ReduceAction374::action (src/parser//parser.nit:13265,2--13281:34)"};
25376 val_t variable0;
25377 val_t variable1;
25378 val_t variable2;
25379 val_t variable3;
25380 val_t variable4;
25381 val_t variable5;
25382 val_t variable6;
25383 val_t variable7;
25384 val_t variable8;
25385 val_t variable9;
25386 trace.prev = tracehead; tracehead = &trace;
25387 variable0 = param0;
25388 variable1 = NIT_NULL /*null*/;
25389 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25390 variable2 = variable3;
25391 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25392 variable3 = variable4;
25393 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25394 variable4 = variable5;
25395 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25396 variable5 = variable6;
25397 variable6 = variable5 /*nodearraylist1*/;
25398 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25399 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13273,6--32\n"); nit_exit(1);}
25400 variable7 = variable2 /*nodearraylist4*/;
25401 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25402 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13275,6--32\n"); nit_exit(1);}
25403 variable9 = NEW_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AAndExpr*/
25404 variable8 = variable9;
25405 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
25406 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(67)) /*Parser::go_to*/;
25407 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
25408 tracehead = trace.prev;
25409 return;
25410 }
25411 void parser___ReduceAction374___init(val_t self, int* init_table) {
25412 struct trace_t trace = {NULL, "parser::ReduceAction374::init (src/parser//parser.nit:13283,1--4)"};
25413 trace.prev = tracehead; tracehead = &trace;
25414 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction374].i]) return;
25415 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction374].i] = 1;
25416 tracehead = trace.prev;
25417 return;
25418 }
25419 void parser___ReduceAction375___action(val_t self, val_t param0) {
25420 struct trace_t trace = {NULL, "parser::ReduceAction375::action (src/parser//parser.nit:13287,2--13294:34)"};
25421 val_t variable0;
25422 val_t variable1;
25423 val_t variable2;
25424 val_t variable3;
25425 val_t variable4;
25426 trace.prev = tracehead; tracehead = &trace;
25427 variable0 = param0;
25428 variable1 = NIT_NULL /*null*/;
25429 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25430 variable2 = variable3;
25431 variable3 = variable2 /*nodearraylist1*/;
25432 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25433 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13292,6--32\n"); nit_exit(1);}
25434 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
25435 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(68)) /*Parser::go_to*/;
25436 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
25437 tracehead = trace.prev;
25438 return;
25439 }
25440 void parser___ReduceAction375___init(val_t self, int* init_table) {
25441 struct trace_t trace = {NULL, "parser::ReduceAction375::init (src/parser//parser.nit:13296,1--4)"};
25442 trace.prev = tracehead; tracehead = &trace;
25443 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction375].i]) return;
25444 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction375].i] = 1;
25445 tracehead = trace.prev;
25446 return;
25447 }
25448 void parser___ReduceAction376___action(val_t self, val_t param0) {
25449 struct trace_t trace = {NULL, "parser::ReduceAction376::action (src/parser//parser.nit:13300,2--13315:34)"};
25450 val_t variable0;
25451 val_t variable1;
25452 val_t variable2;
25453 val_t variable3;
25454 val_t variable4;
25455 val_t variable5;
25456 val_t variable6;
25457 val_t variable7;
25458 val_t variable8;
25459 trace.prev = tracehead; tracehead = &trace;
25460 variable0 = param0;
25461 variable1 = NIT_NULL /*null*/;
25462 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25463 variable2 = variable3;
25464 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25465 variable3 = variable4;
25466 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25467 variable4 = variable5;
25468 variable5 = variable4 /*nodearraylist1*/;
25469 variable6 = TAG_Bool(( variable5 /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
25470 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13307,6--34\n"); nit_exit(1);}
25471 variable6 = variable2 /*nodearraylist3*/;
25472 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25473 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13309,6--32\n"); nit_exit(1);}
25474 variable8 = NEW_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/, variable6 /*pexprnode3*/); /*new ANotExpr*/
25475 variable7 = variable8;
25476 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
25477 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(68)) /*Parser::go_to*/;
25478 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
25479 tracehead = trace.prev;
25480 return;
25481 }
25482 void parser___ReduceAction376___init(val_t self, int* init_table) {
25483 struct trace_t trace = {NULL, "parser::ReduceAction376::init (src/parser//parser.nit:13317,1--4)"};
25484 trace.prev = tracehead; tracehead = &trace;
25485 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction376].i]) return;
25486 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction376].i] = 1;
25487 tracehead = trace.prev;
25488 return;
25489 }
25490 void parser___ReduceAction377___action(val_t self, val_t param0) {
25491 struct trace_t trace = {NULL, "parser::ReduceAction377::action (src/parser//parser.nit:13321,2--13328:34)"};
25492 val_t variable0;
25493 val_t variable1;
25494 val_t variable2;
25495 val_t variable3;
25496 val_t variable4;
25497 trace.prev = tracehead; tracehead = &trace;
25498 variable0 = param0;
25499 variable1 = NIT_NULL /*null*/;
25500 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25501 variable2 = variable3;
25502 variable3 = variable2 /*nodearraylist1*/;
25503 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25504 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13326,6--32\n"); nit_exit(1);}
25505 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
25506 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/;
25507 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
25508 tracehead = trace.prev;
25509 return;
25510 }
25511 void parser___ReduceAction377___init(val_t self, int* init_table) {
25512 struct trace_t trace = {NULL, "parser::ReduceAction377::init (src/parser//parser.nit:13330,1--4)"};
25513 trace.prev = tracehead; tracehead = &trace;
25514 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction377].i]) return;
25515 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction377].i] = 1;
25516 tracehead = trace.prev;
25517 return;
25518 }
25519 void parser___ReduceAction378___action(val_t self, val_t param0) {
25520 struct trace_t trace = {NULL, "parser::ReduceAction378::action (src/parser//parser.nit:13334,2--13350:34)"};
25521 val_t variable0;
25522 val_t variable1;
25523 val_t variable2;
25524 val_t variable3;
25525 val_t variable4;
25526 val_t variable5;
25527 val_t variable6;
25528 val_t variable7;
25529 val_t variable8;
25530 val_t variable9;
25531 trace.prev = tracehead; tracehead = &trace;
25532 variable0 = param0;
25533 variable1 = NIT_NULL /*null*/;
25534 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25535 variable2 = variable3;
25536 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25537 variable3 = variable4;
25538 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25539 variable4 = variable5;
25540 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25541 variable5 = variable6;
25542 variable6 = variable5 /*nodearraylist1*/;
25543 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25544 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13342,6--32\n"); nit_exit(1);}
25545 variable7 = variable2 /*nodearraylist4*/;
25546 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25547 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13344,6--32\n"); nit_exit(1);}
25548 variable9 = NEW_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEqExpr*/
25549 variable8 = variable9;
25550 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
25551 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/;
25552 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
25553 tracehead = trace.prev;
25554 return;
25555 }
25556 void parser___ReduceAction378___init(val_t self, int* init_table) {
25557 struct trace_t trace = {NULL, "parser::ReduceAction378::init (src/parser//parser.nit:13352,1--4)"};
25558 trace.prev = tracehead; tracehead = &trace;
25559 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction378].i]) return;
25560 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction378].i] = 1;
25561 tracehead = trace.prev;
25562 return;
25563 }
25564 void parser___ReduceAction379___action(val_t self, val_t param0) {
25565 struct trace_t trace = {NULL, "parser::ReduceAction379::action (src/parser//parser.nit:13356,2--13372:34)"};
25566 val_t variable0;
25567 val_t variable1;
25568 val_t variable2;
25569 val_t variable3;
25570 val_t variable4;
25571 val_t variable5;
25572 val_t variable6;
25573 val_t variable7;
25574 val_t variable8;
25575 val_t variable9;
25576 trace.prev = tracehead; tracehead = &trace;
25577 variable0 = param0;
25578 variable1 = NIT_NULL /*null*/;
25579 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25580 variable2 = variable3;
25581 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25582 variable3 = variable4;
25583 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25584 variable4 = variable5;
25585 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25586 variable5 = variable6;
25587 variable6 = variable5 /*nodearraylist1*/;
25588 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25589 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13364,6--32\n"); nit_exit(1);}
25590 variable7 = variable2 /*nodearraylist4*/;
25591 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25592 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13366,6--32\n"); nit_exit(1);}
25593 variable9 = NEW_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEeExpr*/
25594 variable8 = variable9;
25595 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
25596 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/;
25597 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
25598 tracehead = trace.prev;
25599 return;
25600 }
25601 void parser___ReduceAction379___init(val_t self, int* init_table) {
25602 struct trace_t trace = {NULL, "parser::ReduceAction379::init (src/parser//parser.nit:13374,1--4)"};
25603 trace.prev = tracehead; tracehead = &trace;
25604 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction379].i]) return;
25605 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction379].i] = 1;
25606 tracehead = trace.prev;
25607 return;
25608 }
25609 void parser___ReduceAction380___action(val_t self, val_t param0) {
25610 struct trace_t trace = {NULL, "parser::ReduceAction380::action (src/parser//parser.nit:13378,2--13394:34)"};
25611 val_t variable0;
25612 val_t variable1;
25613 val_t variable2;
25614 val_t variable3;
25615 val_t variable4;
25616 val_t variable5;
25617 val_t variable6;
25618 val_t variable7;
25619 val_t variable8;
25620 val_t variable9;
25621 trace.prev = tracehead; tracehead = &trace;
25622 variable0 = param0;
25623 variable1 = NIT_NULL /*null*/;
25624 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25625 variable2 = variable3;
25626 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25627 variable3 = variable4;
25628 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25629 variable4 = variable5;
25630 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25631 variable5 = variable6;
25632 variable6 = variable5 /*nodearraylist1*/;
25633 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25634 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13386,6--32\n"); nit_exit(1);}
25635 variable7 = variable2 /*nodearraylist4*/;
25636 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25637 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13388,6--32\n"); nit_exit(1);}
25638 variable9 = NEW_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ANeExpr*/
25639 variable8 = variable9;
25640 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
25641 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/;
25642 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
25643 tracehead = trace.prev;
25644 return;
25645 }
25646 void parser___ReduceAction380___init(val_t self, int* init_table) {
25647 struct trace_t trace = {NULL, "parser::ReduceAction380::init (src/parser//parser.nit:13396,1--4)"};
25648 trace.prev = tracehead; tracehead = &trace;
25649 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction380].i]) return;
25650 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction380].i] = 1;
25651 tracehead = trace.prev;
25652 return;
25653 }
25654 void parser___ReduceAction381___action(val_t self, val_t param0) {
25655 struct trace_t trace = {NULL, "parser::ReduceAction381::action (src/parser//parser.nit:13400,2--13416:34)"};
25656 val_t variable0;
25657 val_t variable1;
25658 val_t variable2;
25659 val_t variable3;
25660 val_t variable4;
25661 val_t variable5;
25662 val_t variable6;
25663 val_t variable7;
25664 val_t variable8;
25665 val_t variable9;
25666 trace.prev = tracehead; tracehead = &trace;
25667 variable0 = param0;
25668 variable1 = NIT_NULL /*null*/;
25669 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25670 variable2 = variable3;
25671 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25672 variable3 = variable4;
25673 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25674 variable4 = variable5;
25675 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25676 variable5 = variable6;
25677 variable6 = variable5 /*nodearraylist1*/;
25678 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25679 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13408,6--32\n"); nit_exit(1);}
25680 variable7 = variable2 /*nodearraylist4*/;
25681 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25682 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13410,6--32\n"); nit_exit(1);}
25683 variable9 = NEW_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALtExpr*/
25684 variable8 = variable9;
25685 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
25686 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/;
25687 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
25688 tracehead = trace.prev;
25689 return;
25690 }
25691 void parser___ReduceAction381___init(val_t self, int* init_table) {
25692 struct trace_t trace = {NULL, "parser::ReduceAction381::init (src/parser//parser.nit:13418,1--4)"};
25693 trace.prev = tracehead; tracehead = &trace;
25694 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction381].i]) return;
25695 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction381].i] = 1;
25696 tracehead = trace.prev;
25697 return;
25698 }
25699 void parser___ReduceAction382___action(val_t self, val_t param0) {
25700 struct trace_t trace = {NULL, "parser::ReduceAction382::action (src/parser//parser.nit:13422,2--13438:34)"};
25701 val_t variable0;
25702 val_t variable1;
25703 val_t variable2;
25704 val_t variable3;
25705 val_t variable4;
25706 val_t variable5;
25707 val_t variable6;
25708 val_t variable7;
25709 val_t variable8;
25710 val_t variable9;
25711 trace.prev = tracehead; tracehead = &trace;
25712 variable0 = param0;
25713 variable1 = NIT_NULL /*null*/;
25714 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25715 variable2 = variable3;
25716 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25717 variable3 = variable4;
25718 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25719 variable4 = variable5;
25720 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25721 variable5 = variable6;
25722 variable6 = variable5 /*nodearraylist1*/;
25723 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25724 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13430,6--32\n"); nit_exit(1);}
25725 variable7 = variable2 /*nodearraylist4*/;
25726 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25727 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13432,6--32\n"); nit_exit(1);}
25728 variable9 = NEW_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALeExpr*/
25729 variable8 = variable9;
25730 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
25731 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/;
25732 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
25733 tracehead = trace.prev;
25734 return;
25735 }
25736 void parser___ReduceAction382___init(val_t self, int* init_table) {
25737 struct trace_t trace = {NULL, "parser::ReduceAction382::init (src/parser//parser.nit:13440,1--4)"};
25738 trace.prev = tracehead; tracehead = &trace;
25739 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction382].i]) return;
25740 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction382].i] = 1;
25741 tracehead = trace.prev;
25742 return;
25743 }
25744 void parser___ReduceAction383___action(val_t self, val_t param0) {
25745 struct trace_t trace = {NULL, "parser::ReduceAction383::action (src/parser//parser.nit:13444,2--13460:34)"};
25746 val_t variable0;
25747 val_t variable1;
25748 val_t variable2;
25749 val_t variable3;
25750 val_t variable4;
25751 val_t variable5;
25752 val_t variable6;
25753 val_t variable7;
25754 val_t variable8;
25755 val_t variable9;
25756 trace.prev = tracehead; tracehead = &trace;
25757 variable0 = param0;
25758 variable1 = NIT_NULL /*null*/;
25759 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25760 variable2 = variable3;
25761 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25762 variable3 = variable4;
25763 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25764 variable4 = variable5;
25765 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25766 variable5 = variable6;
25767 variable6 = variable5 /*nodearraylist1*/;
25768 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25769 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13452,6--32\n"); nit_exit(1);}
25770 variable7 = variable2 /*nodearraylist4*/;
25771 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25772 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13454,6--32\n"); nit_exit(1);}
25773 variable9 = NEW_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGtExpr*/
25774 variable8 = variable9;
25775 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
25776 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/;
25777 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
25778 tracehead = trace.prev;
25779 return;
25780 }
25781 void parser___ReduceAction383___init(val_t self, int* init_table) {
25782 struct trace_t trace = {NULL, "parser::ReduceAction383::init (src/parser//parser.nit:13462,1--4)"};
25783 trace.prev = tracehead; tracehead = &trace;
25784 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction383].i]) return;
25785 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction383].i] = 1;
25786 tracehead = trace.prev;
25787 return;
25788 }
25789 void parser___ReduceAction384___action(val_t self, val_t param0) {
25790 struct trace_t trace = {NULL, "parser::ReduceAction384::action (src/parser//parser.nit:13466,2--13482:34)"};
25791 val_t variable0;
25792 val_t variable1;
25793 val_t variable2;
25794 val_t variable3;
25795 val_t variable4;
25796 val_t variable5;
25797 val_t variable6;
25798 val_t variable7;
25799 val_t variable8;
25800 val_t variable9;
25801 trace.prev = tracehead; tracehead = &trace;
25802 variable0 = param0;
25803 variable1 = NIT_NULL /*null*/;
25804 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25805 variable2 = variable3;
25806 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25807 variable3 = variable4;
25808 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25809 variable4 = variable5;
25810 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25811 variable5 = variable6;
25812 variable6 = variable5 /*nodearraylist1*/;
25813 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25814 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13474,6--32\n"); nit_exit(1);}
25815 variable7 = variable2 /*nodearraylist4*/;
25816 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25817 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13476,6--32\n"); nit_exit(1);}
25818 variable9 = NEW_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGeExpr*/
25819 variable8 = variable9;
25820 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
25821 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/;
25822 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
25823 tracehead = trace.prev;
25824 return;
25825 }
25826 void parser___ReduceAction384___init(val_t self, int* init_table) {
25827 struct trace_t trace = {NULL, "parser::ReduceAction384::init (src/parser//parser.nit:13484,1--4)"};
25828 trace.prev = tracehead; tracehead = &trace;
25829 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction384].i]) return;
25830 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction384].i] = 1;
25831 tracehead = trace.prev;
25832 return;
25833 }
25834 void parser___ReduceAction385___action(val_t self, val_t param0) {
25835 struct trace_t trace = {NULL, "parser::ReduceAction385::action (src/parser//parser.nit:13488,2--13504:34)"};
25836 val_t variable0;
25837 val_t variable1;
25838 val_t variable2;
25839 val_t variable3;
25840 val_t variable4;
25841 val_t variable5;
25842 val_t variable6;
25843 val_t variable7;
25844 val_t variable8;
25845 val_t variable9;
25846 trace.prev = tracehead; tracehead = &trace;
25847 variable0 = param0;
25848 variable1 = NIT_NULL /*null*/;
25849 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25850 variable2 = variable3;
25851 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25852 variable3 = variable4;
25853 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25854 variable4 = variable5;
25855 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25856 variable5 = variable6;
25857 variable6 = variable5 /*nodearraylist1*/;
25858 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25859 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13496,6--32\n"); nit_exit(1);}
25860 variable7 = variable2 /*nodearraylist4*/;
25861 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25862 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13498,6--32\n"); nit_exit(1);}
25863 variable9 = NEW_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarshipExpr*/
25864 variable8 = variable9;
25865 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
25866 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/;
25867 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
25868 tracehead = trace.prev;
25869 return;
25870 }
25871 void parser___ReduceAction385___init(val_t self, int* init_table) {
25872 struct trace_t trace = {NULL, "parser::ReduceAction385::init (src/parser//parser.nit:13506,1--4)"};
25873 trace.prev = tracehead; tracehead = &trace;
25874 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction385].i]) return;
25875 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction385].i] = 1;
25876 tracehead = trace.prev;
25877 return;
25878 }
25879 void parser___ReduceAction386___action(val_t self, val_t param0) {
25880 struct trace_t trace = {NULL, "parser::ReduceAction386::action (src/parser//parser.nit:13510,2--13526:34)"};
25881 val_t variable0;
25882 val_t variable1;
25883 val_t variable2;
25884 val_t variable3;
25885 val_t variable4;
25886 val_t variable5;
25887 val_t variable6;
25888 val_t variable7;
25889 val_t variable8;
25890 val_t variable9;
25891 trace.prev = tracehead; tracehead = &trace;
25892 variable0 = param0;
25893 variable1 = NIT_NULL /*null*/;
25894 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25895 variable2 = variable3;
25896 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25897 variable3 = variable4;
25898 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25899 variable4 = variable5;
25900 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25901 variable5 = variable6;
25902 variable6 = variable5 /*nodearraylist1*/;
25903 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25904 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13518,6--32\n"); nit_exit(1);}
25905 variable7 = variable2 /*nodearraylist4*/;
25906 variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
25907 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13520,6--32\n"); nit_exit(1);}
25908 variable9 = NEW_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/, variable7 /*ptypenode3*/); /*new AIsaExpr*/
25909 variable8 = variable9;
25910 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
25911 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/;
25912 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
25913 tracehead = trace.prev;
25914 return;
25915 }
25916 void parser___ReduceAction386___init(val_t self, int* init_table) {
25917 struct trace_t trace = {NULL, "parser::ReduceAction386::init (src/parser//parser.nit:13528,1--4)"};
25918 trace.prev = tracehead; tracehead = &trace;
25919 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction386].i]) return;
25920 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction386].i] = 1;
25921 tracehead = trace.prev;
25922 return;
25923 }
25924 void parser___ReduceAction387___action(val_t self, val_t param0) {
25925 struct trace_t trace = {NULL, "parser::ReduceAction387::action (src/parser//parser.nit:13532,2--13539:34)"};
25926 val_t variable0;
25927 val_t variable1;
25928 val_t variable2;
25929 val_t variable3;
25930 val_t variable4;
25931 trace.prev = tracehead; tracehead = &trace;
25932 variable0 = param0;
25933 variable1 = NIT_NULL /*null*/;
25934 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25935 variable2 = variable3;
25936 variable3 = variable2 /*nodearraylist1*/;
25937 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25938 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13537,6--32\n"); nit_exit(1);}
25939 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
25940 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(70)) /*Parser::go_to*/;
25941 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
25942 tracehead = trace.prev;
25943 return;
25944 }
25945 void parser___ReduceAction387___init(val_t self, int* init_table) {
25946 struct trace_t trace = {NULL, "parser::ReduceAction387::init (src/parser//parser.nit:13541,1--4)"};
25947 trace.prev = tracehead; tracehead = &trace;
25948 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction387].i]) return;
25949 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction387].i] = 1;
25950 tracehead = trace.prev;
25951 return;
25952 }
25953 void parser___ReduceAction388___action(val_t self, val_t param0) {
25954 struct trace_t trace = {NULL, "parser::ReduceAction388::action (src/parser//parser.nit:13545,2--13561:34)"};
25955 val_t variable0;
25956 val_t variable1;
25957 val_t variable2;
25958 val_t variable3;
25959 val_t variable4;
25960 val_t variable5;
25961 val_t variable6;
25962 val_t variable7;
25963 val_t variable8;
25964 val_t variable9;
25965 trace.prev = tracehead; tracehead = &trace;
25966 variable0 = param0;
25967 variable1 = NIT_NULL /*null*/;
25968 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25969 variable2 = variable3;
25970 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25971 variable3 = variable4;
25972 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25973 variable4 = variable5;
25974 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
25975 variable5 = variable6;
25976 variable6 = variable5 /*nodearraylist1*/;
25977 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25978 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13553,6--32\n"); nit_exit(1);}
25979 variable7 = variable2 /*nodearraylist4*/;
25980 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
25981 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13555,6--32\n"); nit_exit(1);}
25982 variable9 = NEW_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APlusExpr*/
25983 variable8 = variable9;
25984 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
25985 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(70)) /*Parser::go_to*/;
25986 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
25987 tracehead = trace.prev;
25988 return;
25989 }
25990 void parser___ReduceAction388___init(val_t self, int* init_table) {
25991 struct trace_t trace = {NULL, "parser::ReduceAction388::init (src/parser//parser.nit:13563,1--4)"};
25992 trace.prev = tracehead; tracehead = &trace;
25993 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction388].i]) return;
25994 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction388].i] = 1;
25995 tracehead = trace.prev;
25996 return;
25997 }
25998 void parser___ReduceAction389___action(val_t self, val_t param0) {
25999 struct trace_t trace = {NULL, "parser::ReduceAction389::action (src/parser//parser.nit:13567,2--13583:34)"};
26000 val_t variable0;
26001 val_t variable1;
26002 val_t variable2;
26003 val_t variable3;
26004 val_t variable4;
26005 val_t variable5;
26006 val_t variable6;
26007 val_t variable7;
26008 val_t variable8;
26009 val_t variable9;
26010 trace.prev = tracehead; tracehead = &trace;
26011 variable0 = param0;
26012 variable1 = NIT_NULL /*null*/;
26013 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26014 variable2 = variable3;
26015 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26016 variable3 = variable4;
26017 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26018 variable4 = variable5;
26019 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26020 variable5 = variable6;
26021 variable6 = variable5 /*nodearraylist1*/;
26022 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26023 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13575,6--32\n"); nit_exit(1);}
26024 variable7 = variable2 /*nodearraylist4*/;
26025 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26026 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13577,6--32\n"); nit_exit(1);}
26027 variable9 = NEW_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AMinusExpr*/
26028 variable8 = variable9;
26029 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
26030 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(70)) /*Parser::go_to*/;
26031 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
26032 tracehead = trace.prev;
26033 return;
26034 }
26035 void parser___ReduceAction389___init(val_t self, int* init_table) {
26036 struct trace_t trace = {NULL, "parser::ReduceAction389::init (src/parser//parser.nit:13585,1--4)"};
26037 trace.prev = tracehead; tracehead = &trace;
26038 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction389].i]) return;
26039 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction389].i] = 1;
26040 tracehead = trace.prev;
26041 return;
26042 }
26043 void parser___ReduceAction390___action(val_t self, val_t param0) {
26044 struct trace_t trace = {NULL, "parser::ReduceAction390::action (src/parser//parser.nit:13589,2--13596:34)"};
26045 val_t variable0;
26046 val_t variable1;
26047 val_t variable2;
26048 val_t variable3;
26049 val_t variable4;
26050 trace.prev = tracehead; tracehead = &trace;
26051 variable0 = param0;
26052 variable1 = NIT_NULL /*null*/;
26053 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26054 variable2 = variable3;
26055 variable3 = variable2 /*nodearraylist1*/;
26056 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26057 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13594,6--32\n"); nit_exit(1);}
26058 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
26059 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(71)) /*Parser::go_to*/;
26060 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
26061 tracehead = trace.prev;
26062 return;
26063 }
26064 void parser___ReduceAction390___init(val_t self, int* init_table) {
26065 struct trace_t trace = {NULL, "parser::ReduceAction390::init (src/parser//parser.nit:13598,1--4)"};
26066 trace.prev = tracehead; tracehead = &trace;
26067 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction390].i]) return;
26068 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction390].i] = 1;
26069 tracehead = trace.prev;
26070 return;
26071 }
26072 void parser___ReduceAction391___action(val_t self, val_t param0) {
26073 struct trace_t trace = {NULL, "parser::ReduceAction391::action (src/parser//parser.nit:13602,2--13618:34)"};
26074 val_t variable0;
26075 val_t variable1;
26076 val_t variable2;
26077 val_t variable3;
26078 val_t variable4;
26079 val_t variable5;
26080 val_t variable6;
26081 val_t variable7;
26082 val_t variable8;
26083 val_t variable9;
26084 trace.prev = tracehead; tracehead = &trace;
26085 variable0 = param0;
26086 variable1 = NIT_NULL /*null*/;
26087 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26088 variable2 = variable3;
26089 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26090 variable3 = variable4;
26091 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26092 variable4 = variable5;
26093 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26094 variable5 = variable6;
26095 variable6 = variable5 /*nodearraylist1*/;
26096 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26097 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13610,6--32\n"); nit_exit(1);}
26098 variable7 = variable2 /*nodearraylist4*/;
26099 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26100 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13612,6--32\n"); nit_exit(1);}
26101 variable9 = NEW_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarExpr*/
26102 variable8 = variable9;
26103 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
26104 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(71)) /*Parser::go_to*/;
26105 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
26106 tracehead = trace.prev;
26107 return;
26108 }
26109 void parser___ReduceAction391___init(val_t self, int* init_table) {
26110 struct trace_t trace = {NULL, "parser::ReduceAction391::init (src/parser//parser.nit:13620,1--4)"};
26111 trace.prev = tracehead; tracehead = &trace;
26112 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction391].i]) return;
26113 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction391].i] = 1;
26114 tracehead = trace.prev;
26115 return;
26116 }
26117 void parser___ReduceAction392___action(val_t self, val_t param0) {
26118 struct trace_t trace = {NULL, "parser::ReduceAction392::action (src/parser//parser.nit:13624,2--13640:34)"};
26119 val_t variable0;
26120 val_t variable1;
26121 val_t variable2;
26122 val_t variable3;
26123 val_t variable4;
26124 val_t variable5;
26125 val_t variable6;
26126 val_t variable7;
26127 val_t variable8;
26128 val_t variable9;
26129 trace.prev = tracehead; tracehead = &trace;
26130 variable0 = param0;
26131 variable1 = NIT_NULL /*null*/;
26132 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26133 variable2 = variable3;
26134 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26135 variable3 = variable4;
26136 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26137 variable4 = variable5;
26138 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26139 variable5 = variable6;
26140 variable6 = variable5 /*nodearraylist1*/;
26141 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26142 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13632,6--32\n"); nit_exit(1);}
26143 variable7 = variable2 /*nodearraylist4*/;
26144 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26145 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13634,6--32\n"); nit_exit(1);}
26146 variable9 = NEW_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ASlashExpr*/
26147 variable8 = variable9;
26148 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
26149 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(71)) /*Parser::go_to*/;
26150 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
26151 tracehead = trace.prev;
26152 return;
26153 }
26154 void parser___ReduceAction392___init(val_t self, int* init_table) {
26155 struct trace_t trace = {NULL, "parser::ReduceAction392::init (src/parser//parser.nit:13642,1--4)"};
26156 trace.prev = tracehead; tracehead = &trace;
26157 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction392].i]) return;
26158 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction392].i] = 1;
26159 tracehead = trace.prev;
26160 return;
26161 }
26162 void parser___ReduceAction393___action(val_t self, val_t param0) {
26163 struct trace_t trace = {NULL, "parser::ReduceAction393::action (src/parser//parser.nit:13646,2--13662:34)"};
26164 val_t variable0;
26165 val_t variable1;
26166 val_t variable2;
26167 val_t variable3;
26168 val_t variable4;
26169 val_t variable5;
26170 val_t variable6;
26171 val_t variable7;
26172 val_t variable8;
26173 val_t variable9;
26174 trace.prev = tracehead; tracehead = &trace;
26175 variable0 = param0;
26176 variable1 = NIT_NULL /*null*/;
26177 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26178 variable2 = variable3;
26179 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26180 variable3 = variable4;
26181 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26182 variable4 = variable5;
26183 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26184 variable5 = variable6;
26185 variable6 = variable5 /*nodearraylist1*/;
26186 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26187 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13654,6--32\n"); nit_exit(1);}
26188 variable7 = variable2 /*nodearraylist4*/;
26189 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26190 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13656,6--32\n"); nit_exit(1);}
26191 variable9 = NEW_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APercentExpr*/
26192 variable8 = variable9;
26193 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
26194 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(71)) /*Parser::go_to*/;
26195 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
26196 tracehead = trace.prev;
26197 return;
26198 }
26199 void parser___ReduceAction393___init(val_t self, int* init_table) {
26200 struct trace_t trace = {NULL, "parser::ReduceAction393::init (src/parser//parser.nit:13664,1--4)"};
26201 trace.prev = tracehead; tracehead = &trace;
26202 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction393].i]) return;
26203 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction393].i] = 1;
26204 tracehead = trace.prev;
26205 return;
26206 }
26207 void parser___ReduceAction394___action(val_t self, val_t param0) {
26208 struct trace_t trace = {NULL, "parser::ReduceAction394::action (src/parser//parser.nit:13668,2--13675:34)"};
26209 val_t variable0;
26210 val_t variable1;
26211 val_t variable2;
26212 val_t variable3;
26213 val_t variable4;
26214 trace.prev = tracehead; tracehead = &trace;
26215 variable0 = param0;
26216 variable1 = NIT_NULL /*null*/;
26217 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26218 variable2 = variable3;
26219 variable3 = variable2 /*nodearraylist1*/;
26220 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26221 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13673,6--32\n"); nit_exit(1);}
26222 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
26223 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(72)) /*Parser::go_to*/;
26224 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
26225 tracehead = trace.prev;
26226 return;
26227 }
26228 void parser___ReduceAction394___init(val_t self, int* init_table) {
26229 struct trace_t trace = {NULL, "parser::ReduceAction394::init (src/parser//parser.nit:13677,1--4)"};
26230 trace.prev = tracehead; tracehead = &trace;
26231 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction394].i]) return;
26232 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction394].i] = 1;
26233 tracehead = trace.prev;
26234 return;
26235 }
26236 void parser___ReduceAction395___action(val_t self, val_t param0) {
26237 struct trace_t trace = {NULL, "parser::ReduceAction395::action (src/parser//parser.nit:13681,2--13696:34)"};
26238 val_t variable0;
26239 val_t variable1;
26240 val_t variable2;
26241 val_t variable3;
26242 val_t variable4;
26243 val_t variable5;
26244 val_t variable6;
26245 val_t variable7;
26246 val_t variable8;
26247 trace.prev = tracehead; tracehead = &trace;
26248 variable0 = param0;
26249 variable1 = NIT_NULL /*null*/;
26250 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26251 variable2 = variable3;
26252 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26253 variable3 = variable4;
26254 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26255 variable4 = variable5;
26256 variable5 = variable4 /*nodearraylist1*/;
26257 variable6 = TAG_Bool(( variable5 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
26258 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13688,6--34\n"); nit_exit(1);}
26259 variable6 = variable2 /*nodearraylist3*/;
26260 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26261 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13690,6--32\n"); nit_exit(1);}
26262 variable8 = NEW_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/, variable6 /*pexprnode3*/); /*new AUminusExpr*/
26263 variable7 = variable8;
26264 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
26265 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(72)) /*Parser::go_to*/;
26266 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
26267 tracehead = trace.prev;
26268 return;
26269 }
26270 void parser___ReduceAction395___init(val_t self, int* init_table) {
26271 struct trace_t trace = {NULL, "parser::ReduceAction395::init (src/parser//parser.nit:13698,1--4)"};
26272 trace.prev = tracehead; tracehead = &trace;
26273 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction395].i]) return;
26274 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction395].i] = 1;
26275 tracehead = trace.prev;
26276 return;
26277 }
26278 void parser___ReduceAction396___action(val_t self, val_t param0) {
26279 struct trace_t trace = {NULL, "parser::ReduceAction396::action (src/parser//parser.nit:13702,2--13717:34)"};
26280 val_t variable0;
26281 val_t variable1;
26282 val_t variable2;
26283 val_t variable3;
26284 val_t variable4;
26285 val_t variable5;
26286 val_t variable6;
26287 val_t variable7;
26288 val_t variable8;
26289 trace.prev = tracehead; tracehead = &trace;
26290 variable0 = param0;
26291 variable1 = NIT_NULL /*null*/;
26292 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26293 variable2 = variable3;
26294 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26295 variable3 = variable4;
26296 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26297 variable4 = variable5;
26298 variable5 = variable4 /*nodearraylist1*/;
26299 variable6 = TAG_Bool(( variable5 /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
26300 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13709,6--36\n"); nit_exit(1);}
26301 variable6 = variable2 /*nodearraylist3*/;
26302 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26303 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13711,6--32\n"); nit_exit(1);}
26304 variable8 = NEW_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/, variable6 /*pexprnode3*/); /*new AOnceExpr*/
26305 variable7 = variable8;
26306 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
26307 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(72)) /*Parser::go_to*/;
26308 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
26309 tracehead = trace.prev;
26310 return;
26311 }
26312 void parser___ReduceAction396___init(val_t self, int* init_table) {
26313 struct trace_t trace = {NULL, "parser::ReduceAction396::init (src/parser//parser.nit:13719,1--4)"};
26314 trace.prev = tracehead; tracehead = &trace;
26315 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction396].i]) return;
26316 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction396].i] = 1;
26317 tracehead = trace.prev;
26318 return;
26319 }
26320 void parser___ReduceAction397___action(val_t self, val_t param0) {
26321 struct trace_t trace = {NULL, "parser::ReduceAction397::action (src/parser//parser.nit:13723,2--13730:34)"};
26322 val_t variable0;
26323 val_t variable1;
26324 val_t variable2;
26325 val_t variable3;
26326 val_t variable4;
26327 trace.prev = tracehead; tracehead = &trace;
26328 variable0 = param0;
26329 variable1 = NIT_NULL /*null*/;
26330 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26331 variable2 = variable3;
26332 variable3 = variable2 /*nodearraylist1*/;
26333 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26334 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13728,6--32\n"); nit_exit(1);}
26335 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
26336 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(73)) /*Parser::go_to*/;
26337 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
26338 tracehead = trace.prev;
26339 return;
26340 }
26341 void parser___ReduceAction397___init(val_t self, int* init_table) {
26342 struct trace_t trace = {NULL, "parser::ReduceAction397::init (src/parser//parser.nit:13732,1--4)"};
26343 trace.prev = tracehead; tracehead = &trace;
26344 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction397].i]) return;
26345 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction397].i] = 1;
26346 tracehead = trace.prev;
26347 return;
26348 }
26349 void parser___ReduceAction398___action(val_t self, val_t param0) {
26350 struct trace_t trace = {NULL, "parser::ReduceAction398::action (src/parser//parser.nit:13736,2--13764:34)"};
26351 val_t variable0;
26352 val_t variable1;
26353 val_t variable2;
26354 val_t variable3;
26355 val_t variable4;
26356 val_t variable5;
26357 val_t variable6;
26358 val_t variable7;
26359 val_t variable8;
26360 val_t variable9;
26361 val_t variable10;
26362 val_t variable11;
26363 trace.prev = tracehead; tracehead = &trace;
26364 variable0 = param0;
26365 variable1 = NIT_NULL /*null*/;
26366 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26367 variable2 = variable3;
26368 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26369 variable3 = variable4;
26370 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26371 variable4 = variable5;
26372 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26373 variable5 = variable6;
26374 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
26375 variable6 = variable7;
26376 variable7 = variable5 /*nodearraylist1*/;
26377 variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
26378 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13745,6--34\n"); nit_exit(1);}
26379 variable8 = variable3 /*nodearraylist3*/;
26380 variable9 = TAG_Bool(( variable8 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable8 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
26381 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13747,6--32\n"); nit_exit(1);}
26382 variable9 = variable2 /*nodearraylist4*/;
26383 variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26384 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13749,6--38\n"); nit_exit(1);}
26385 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ == NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
26386 if (UNTAG_Bool(variable10)) { /*if*/
26387 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
26388 if (UNTAG_Bool(variable10)) { /*if*/
26389 variable6 = variable9 /*listnode5*/ /*listnode6=*/;
26390 } else { /*if*/
26391 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable9 /*listnode5*/) /*Array::append*/;
26392 }
26393 }
26394 variable11 = NEW_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/, variable8 /*ptypenode3*/, NIT_NULL /*null*/, variable6 /*listnode6*/); /*new ANewExpr*/
26395 variable10 = variable11;
26396 variable1 = variable10 /*pexprnode1*/ /*node_list=*/;
26397 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(73)) /*Parser::go_to*/;
26398 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
26399 tracehead = trace.prev;
26400 return;
26401 }
26402 void parser___ReduceAction398___init(val_t self, int* init_table) {
26403 struct trace_t trace = {NULL, "parser::ReduceAction398::init (src/parser//parser.nit:13766,1--4)"};
26404 trace.prev = tracehead; tracehead = &trace;
26405 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction398].i]) return;
26406 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction398].i] = 1;
26407 tracehead = trace.prev;
26408 return;
26409 }
26410 void parser___ReduceAction399___action(val_t self, val_t param0) {
26411 struct trace_t trace = {NULL, "parser::ReduceAction399::action (src/parser//parser.nit:13770,2--13786:34)"};
26412 val_t variable0;
26413 val_t variable1;
26414 val_t variable2;
26415 val_t variable3;
26416 val_t variable4;
26417 val_t variable5;
26418 val_t variable6;
26419 val_t variable7;
26420 val_t variable8;
26421 val_t variable9;
26422 trace.prev = tracehead; tracehead = &trace;
26423 variable0 = param0;
26424 variable1 = NIT_NULL /*null*/;
26425 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26426 variable2 = variable3;
26427 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26428 variable3 = variable4;
26429 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26430 variable4 = variable5;
26431 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26432 variable5 = variable6;
26433 variable6 = variable5 /*nodearraylist1*/;
26434 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26435 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13778,6--32\n"); nit_exit(1);}
26436 variable7 = variable2 /*nodearraylist4*/;
26437 variable8 = TAG_Bool(( variable7 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
26438 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13780,6--36\n"); nit_exit(1);}
26439 variable9 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable6 /*pexprnode2*/, variable7 /*tattridnode3*/); /*new AAttrExpr*/
26440 variable8 = variable9;
26441 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
26442 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
26443 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
26444 tracehead = trace.prev;
26445 return;
26446 }
26447 void parser___ReduceAction399___init(val_t self, int* init_table) {
26448 struct trace_t trace = {NULL, "parser::ReduceAction399::init (src/parser//parser.nit:13788,1--4)"};
26449 trace.prev = tracehead; tracehead = &trace;
26450 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction399].i]) return;
26451 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction399].i] = 1;
26452 tracehead = trace.prev;
26453 return;
26454 }
26455 void parser___ReduceAction400___action(val_t self, val_t param0) {
26456 struct trace_t trace = {NULL, "parser::ReduceAction400::action (src/parser//parser.nit:13792,2--13805:34)"};
26457 val_t variable0;
26458 val_t variable1;
26459 val_t variable2;
26460 val_t variable3;
26461 val_t variable4;
26462 val_t variable5;
26463 val_t variable6;
26464 trace.prev = tracehead; tracehead = &trace;
26465 variable0 = param0;
26466 variable1 = NIT_NULL /*null*/;
26467 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26468 variable2 = variable3;
26469 variable4 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
26470 variable3 = variable4;
26471 variable4 = variable2 /*nodearraylist1*/;
26472 variable5 = TAG_Bool(( variable4 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable4 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
26473 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13799,6--36\n"); nit_exit(1);}
26474 variable6 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable3 /*pexprnode2*/, variable4 /*tattridnode3*/); /*new AAttrExpr*/
26475 variable5 = variable6;
26476 variable1 = variable5 /*pexprnode1*/ /*node_list=*/;
26477 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
26478 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
26479 tracehead = trace.prev;
26480 return;
26481 }
26482 void parser___ReduceAction400___init(val_t self, int* init_table) {
26483 struct trace_t trace = {NULL, "parser::ReduceAction400::init (src/parser//parser.nit:13807,1--4)"};
26484 trace.prev = tracehead; tracehead = &trace;
26485 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction400].i]) return;
26486 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction400].i] = 1;
26487 tracehead = trace.prev;
26488 return;
26489 }
26490 void parser___ReduceAction401___action(val_t self, val_t param0) {
26491 struct trace_t trace = {NULL, "parser::ReduceAction401::action (src/parser//parser.nit:13811,2--13839:34)"};
26492 val_t variable0;
26493 val_t variable1;
26494 val_t variable2;
26495 val_t variable3;
26496 val_t variable4;
26497 val_t variable5;
26498 val_t variable6;
26499 val_t variable7;
26500 val_t variable8;
26501 val_t variable9;
26502 val_t variable10;
26503 val_t variable11;
26504 val_t variable12;
26505 trace.prev = tracehead; tracehead = &trace;
26506 variable0 = param0;
26507 variable1 = NIT_NULL /*null*/;
26508 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26509 variable2 = variable3;
26510 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26511 variable3 = variable4;
26512 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26513 variable4 = variable5;
26514 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26515 variable5 = variable6;
26516 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26517 variable6 = variable7;
26518 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
26519 variable7 = variable8;
26520 variable8 = variable6 /*nodearraylist1*/;
26521 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26522 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13821,6--32\n"); nit_exit(1);}
26523 variable9 = variable3 /*nodearraylist4*/;
26524 variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
26525 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13823,6--28\n"); nit_exit(1);}
26526 variable10 = variable2 /*nodearraylist5*/;
26527 variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26528 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13825,6--38\n"); nit_exit(1);}
26529 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
26530 if (UNTAG_Bool(variable11)) { /*if*/
26531 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
26532 if (UNTAG_Bool(variable11)) { /*if*/
26533 variable7 = variable10 /*listnode4*/ /*listnode5=*/;
26534 } else { /*if*/
26535 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/;
26536 }
26537 }
26538 variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/, variable9 /*tidnode3*/, variable7 /*listnode5*/); /*new ACallExpr*/
26539 variable11 = variable12;
26540 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
26541 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
26542 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
26543 tracehead = trace.prev;
26544 return;
26545 }
26546 void parser___ReduceAction401___init(val_t self, int* init_table) {
26547 struct trace_t trace = {NULL, "parser::ReduceAction401::init (src/parser//parser.nit:13841,1--4)"};
26548 trace.prev = tracehead; tracehead = &trace;
26549 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction401].i]) return;
26550 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction401].i] = 1;
26551 tracehead = trace.prev;
26552 return;
26553 }
26554 void parser___ReduceAction402___action(val_t self, val_t param0) {
26555 struct trace_t trace = {NULL, "parser::ReduceAction402::action (src/parser//parser.nit:13845,2--13870:34)"};
26556 val_t variable0;
26557 val_t variable1;
26558 val_t variable2;
26559 val_t variable3;
26560 val_t variable4;
26561 val_t variable5;
26562 val_t variable6;
26563 val_t variable7;
26564 val_t variable8;
26565 val_t variable9;
26566 trace.prev = tracehead; tracehead = &trace;
26567 variable0 = param0;
26568 variable1 = NIT_NULL /*null*/;
26569 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26570 variable2 = variable3;
26571 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26572 variable3 = variable4;
26573 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
26574 variable4 = variable5;
26575 variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
26576 variable5 = variable6;
26577 variable6 = variable3 /*nodearraylist1*/;
26578 variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
26579 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13854,6--28\n"); nit_exit(1);}
26580 variable7 = variable2 /*nodearraylist2*/;
26581 variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26582 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13856,6--38\n"); nit_exit(1);}
26583 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
26584 if (UNTAG_Bool(variable8)) { /*if*/
26585 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
26586 if (UNTAG_Bool(variable8)) { /*if*/
26587 variable4 = variable7 /*listnode4*/ /*listnode5=*/;
26588 } else { /*if*/
26589 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/;
26590 }
26591 }
26592 variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/, variable6 /*tidnode3*/, variable4 /*listnode5*/); /*new ACallExpr*/
26593 variable8 = variable9;
26594 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
26595 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
26596 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
26597 tracehead = trace.prev;
26598 return;
26599 }
26600 void parser___ReduceAction402___init(val_t self, int* init_table) {
26601 struct trace_t trace = {NULL, "parser::ReduceAction402::init (src/parser//parser.nit:13872,1--4)"};
26602 trace.prev = tracehead; tracehead = &trace;
26603 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction402].i]) return;
26604 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction402].i] = 1;
26605 tracehead = trace.prev;
26606 return;
26607 }
26608 void parser___ReduceAction403___action(val_t self, val_t param0) {
26609 struct trace_t trace = {NULL, "parser::ReduceAction403::action (src/parser//parser.nit:13876,2--13899:34)"};
26610 val_t variable0;
26611 val_t variable1;
26612 val_t variable2;
26613 val_t variable3;
26614 val_t variable4;
26615 val_t variable5;
26616 val_t variable6;
26617 val_t variable7;
26618 val_t variable8;
26619 trace.prev = tracehead; tracehead = &trace;
26620 variable0 = param0;
26621 variable1 = NIT_NULL /*null*/;
26622 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26623 variable2 = variable3;
26624 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26625 variable3 = variable4;
26626 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
26627 variable4 = variable5;
26628 variable5 = variable3 /*nodearraylist1*/;
26629 variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
26630 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13883,6--38\n"); nit_exit(1);}
26631 variable6 = variable2 /*nodearraylist2*/;
26632 variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26633 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13885,6--38\n"); nit_exit(1);}
26634 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
26635 if (UNTAG_Bool(variable7)) { /*if*/
26636 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
26637 if (UNTAG_Bool(variable7)) { /*if*/
26638 variable4 = variable6 /*listnode4*/ /*listnode5=*/;
26639 } else { /*if*/
26640 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable6 /*listnode4*/) /*Array::append*/;
26641 }
26642 }
26643 variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable5 /*tkwsupernode3*/, variable4 /*listnode5*/); /*new ASuperExpr*/
26644 variable7 = variable8;
26645 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
26646 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
26647 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
26648 tracehead = trace.prev;
26649 return;
26650 }
26651 void parser___ReduceAction403___init(val_t self, int* init_table) {
26652 struct trace_t trace = {NULL, "parser::ReduceAction403::init (src/parser//parser.nit:13901,1--4)"};
26653 trace.prev = tracehead; tracehead = &trace;
26654 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction403].i]) return;
26655 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction403].i] = 1;
26656 tracehead = trace.prev;
26657 return;
26658 }
26659 void parser___ReduceAction404___action(val_t self, val_t param0) {
26660 struct trace_t trace = {NULL, "parser::ReduceAction404::action (src/parser//parser.nit:13905,2--13931:34)"};
26661 val_t variable0;
26662 val_t variable1;
26663 val_t variable2;
26664 val_t variable3;
26665 val_t variable4;
26666 val_t variable5;
26667 val_t variable6;
26668 val_t variable7;
26669 val_t variable8;
26670 val_t variable9;
26671 val_t variable10;
26672 trace.prev = tracehead; tracehead = &trace;
26673 variable0 = param0;
26674 variable1 = NIT_NULL /*null*/;
26675 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26676 variable2 = variable3;
26677 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26678 variable3 = variable4;
26679 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26680 variable4 = variable5;
26681 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
26682 variable5 = variable6;
26683 variable6 = variable4 /*nodearraylist1*/;
26684 variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
26685 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13913,6--42\n"); nit_exit(1);}
26686 variable7 = variable3 /*nodearraylist2*/;
26687 variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
26688 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13915,6--38\n"); nit_exit(1);}
26689 variable8 = variable2 /*nodearraylist3*/;
26690 variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26691 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13917,6--38\n"); nit_exit(1);}
26692 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
26693 if (UNTAG_Bool(variable9)) { /*if*/
26694 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
26695 if (UNTAG_Bool(variable9)) { /*if*/
26696 variable5 = variable8 /*listnode4*/ /*listnode5=*/;
26697 } else { /*if*/
26698 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/;
26699 }
26700 }
26701 variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/, variable7 /*tkwsupernode3*/, variable5 /*listnode5*/); /*new ASuperExpr*/
26702 variable9 = variable10;
26703 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
26704 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
26705 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
26706 tracehead = trace.prev;
26707 return;
26708 }
26709 void parser___ReduceAction404___init(val_t self, int* init_table) {
26710 struct trace_t trace = {NULL, "parser::ReduceAction404::init (src/parser//parser.nit:13933,1--4)"};
26711 trace.prev = tracehead; tracehead = &trace;
26712 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction404].i]) return;
26713 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction404].i] = 1;
26714 tracehead = trace.prev;
26715 return;
26716 }
26717 void parser___ReduceAction405___action(val_t self, val_t param0) {
26718 struct trace_t trace = {NULL, "parser::ReduceAction405::action (src/parser//parser.nit:13937,2--13965:34)"};
26719 val_t variable0;
26720 val_t variable1;
26721 val_t variable2;
26722 val_t variable3;
26723 val_t variable4;
26724 val_t variable5;
26725 val_t variable6;
26726 val_t variable7;
26727 val_t variable8;
26728 val_t variable9;
26729 val_t variable10;
26730 val_t variable11;
26731 val_t variable12;
26732 trace.prev = tracehead; tracehead = &trace;
26733 variable0 = param0;
26734 variable1 = NIT_NULL /*null*/;
26735 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26736 variable2 = variable3;
26737 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26738 variable3 = variable4;
26739 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26740 variable4 = variable5;
26741 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26742 variable5 = variable6;
26743 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26744 variable6 = variable7;
26745 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
26746 variable7 = variable8;
26747 variable8 = variable6 /*nodearraylist1*/;
26748 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26749 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13947,6--32\n"); nit_exit(1);}
26750 variable9 = variable3 /*nodearraylist4*/;
26751 variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26752 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13949,6--36\n"); nit_exit(1);}
26753 variable10 = variable2 /*nodearraylist5*/;
26754 variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26755 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13951,6--38\n"); nit_exit(1);}
26756 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
26757 if (UNTAG_Bool(variable11)) { /*if*/
26758 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
26759 if (UNTAG_Bool(variable11)) { /*if*/
26760 variable7 = variable10 /*listnode4*/ /*listnode5=*/;
26761 } else { /*if*/
26762 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/;
26763 }
26764 }
26765 variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/, variable9 /*tkwinitnode3*/, variable7 /*listnode5*/); /*new AInitExpr*/
26766 variable11 = variable12;
26767 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
26768 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
26769 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
26770 tracehead = trace.prev;
26771 return;
26772 }
26773 void parser___ReduceAction405___init(val_t self, int* init_table) {
26774 struct trace_t trace = {NULL, "parser::ReduceAction405::init (src/parser//parser.nit:13967,1--4)"};
26775 trace.prev = tracehead; tracehead = &trace;
26776 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction405].i]) return;
26777 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction405].i] = 1;
26778 tracehead = trace.prev;
26779 return;
26780 }
26781 void parser___ReduceAction406___action(val_t self, val_t param0) {
26782 struct trace_t trace = {NULL, "parser::ReduceAction406::action (src/parser//parser.nit:13971,2--13996:34)"};
26783 val_t variable0;
26784 val_t variable1;
26785 val_t variable2;
26786 val_t variable3;
26787 val_t variable4;
26788 val_t variable5;
26789 val_t variable6;
26790 val_t variable7;
26791 val_t variable8;
26792 val_t variable9;
26793 trace.prev = tracehead; tracehead = &trace;
26794 variable0 = param0;
26795 variable1 = NIT_NULL /*null*/;
26796 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26797 variable2 = variable3;
26798 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26799 variable3 = variable4;
26800 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
26801 variable4 = variable5;
26802 variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
26803 variable5 = variable6;
26804 variable6 = variable3 /*nodearraylist1*/;
26805 variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
26806 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13980,6--36\n"); nit_exit(1);}
26807 variable7 = variable2 /*nodearraylist2*/;
26808 variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26809 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13982,6--38\n"); nit_exit(1);}
26810 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
26811 if (UNTAG_Bool(variable8)) { /*if*/
26812 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
26813 if (UNTAG_Bool(variable8)) { /*if*/
26814 variable4 = variable7 /*listnode4*/ /*listnode5=*/;
26815 } else { /*if*/
26816 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/;
26817 }
26818 }
26819 variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/, variable6 /*tkwinitnode3*/, variable4 /*listnode5*/); /*new AInitExpr*/
26820 variable8 = variable9;
26821 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
26822 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
26823 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
26824 tracehead = trace.prev;
26825 return;
26826 }
26827 void parser___ReduceAction406___init(val_t self, int* init_table) {
26828 struct trace_t trace = {NULL, "parser::ReduceAction406::init (src/parser//parser.nit:13998,1--4)"};
26829 trace.prev = tracehead; tracehead = &trace;
26830 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction406].i]) return;
26831 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction406].i] = 1;
26832 tracehead = trace.prev;
26833 return;
26834 }
26835 void parser___ReduceAction407___action(val_t self, val_t param0) {
26836 struct trace_t trace = {NULL, "parser::ReduceAction407::action (src/parser//parser.nit:14002,2--14035:34)"};
26837 val_t variable0;
26838 val_t variable1;
26839 val_t variable2;
26840 val_t variable3;
26841 val_t variable4;
26842 val_t variable5;
26843 val_t variable6;
26844 val_t variable7;
26845 val_t variable8;
26846 val_t variable9;
26847 val_t variable10;
26848 val_t variable11;
26849 val_t variable12;
26850 val_t variable13;
26851 val_t variable14;
26852 val_t variable15;
26853 trace.prev = tracehead; tracehead = &trace;
26854 variable0 = param0;
26855 variable1 = NIT_NULL /*null*/;
26856 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26857 variable2 = variable3;
26858 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26859 variable3 = variable4;
26860 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26861 variable4 = variable5;
26862 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26863 variable5 = variable6;
26864 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26865 variable6 = variable7;
26866 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26867 variable7 = variable8;
26868 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26869 variable8 = variable9;
26870 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
26871 variable9 = variable10;
26872 variable10 = variable8 /*nodearraylist1*/;
26873 variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
26874 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14014,6--34\n"); nit_exit(1);}
26875 variable11 = variable6 /*nodearraylist3*/;
26876 variable12 = TAG_Bool(( variable11 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
26877 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14016,6--32\n"); nit_exit(1);}
26878 variable12 = variable3 /*nodearraylist6*/;
26879 variable13 = TAG_Bool(( variable12 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
26880 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14018,6--28\n"); nit_exit(1);}
26881 variable13 = variable2 /*nodearraylist7*/;
26882 variable14 = TAG_Bool(( variable13 /*listnode5*/==NIT_NULL) || VAL_ISA( variable13 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
26883 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14020,6--38\n"); nit_exit(1);}
26884 variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ == NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
26885 if (UNTAG_Bool(variable14)) { /*if*/
26886 variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*Array::is_empty*/;
26887 if (UNTAG_Bool(variable14)) { /*if*/
26888 variable9 = variable13 /*listnode5*/ /*listnode6=*/;
26889 } else { /*if*/
26890 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/, variable13 /*listnode5*/) /*Array::append*/;
26891 }
26892 }
26893 variable15 = NEW_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/, variable11 /*ptypenode3*/, variable12 /*tidnode4*/, variable9 /*listnode6*/); /*new ANewExpr*/
26894 variable14 = variable15;
26895 variable1 = variable14 /*pexprnode1*/ /*node_list=*/;
26896 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
26897 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
26898 tracehead = trace.prev;
26899 return;
26900 }
26901 void parser___ReduceAction407___init(val_t self, int* init_table) {
26902 struct trace_t trace = {NULL, "parser::ReduceAction407::init (src/parser//parser.nit:14037,1--4)"};
26903 trace.prev = tracehead; tracehead = &trace;
26904 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction407].i]) return;
26905 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction407].i] = 1;
26906 tracehead = trace.prev;
26907 return;
26908 }
26909 void parser___ReduceAction408___action(val_t self, val_t param0) {
26910 struct trace_t trace = {NULL, "parser::ReduceAction408::action (src/parser//parser.nit:14041,2--14051:34)"};
26911 val_t variable0;
26912 val_t variable1;
26913 val_t variable2;
26914 val_t variable3;
26915 val_t variable4;
26916 val_t variable5;
26917 trace.prev = tracehead; tracehead = &trace;
26918 variable0 = param0;
26919 variable1 = NIT_NULL /*null*/;
26920 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26921 variable2 = variable3;
26922 variable3 = variable2 /*nodearraylist1*/;
26923 variable4 = TAG_Bool(( variable3 /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
26924 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14046,6--36\n"); nit_exit(1);}
26925 variable5 = NEW_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/
26926 variable4 = variable5;
26927 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
26928 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
26929 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
26930 tracehead = trace.prev;
26931 return;
26932 }
26933 void parser___ReduceAction408___init(val_t self, int* init_table) {
26934 struct trace_t trace = {NULL, "parser::ReduceAction408::init (src/parser//parser.nit:14053,1--4)"};
26935 trace.prev = tracehead; tracehead = &trace;
26936 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction408].i]) return;
26937 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction408].i] = 1;
26938 tracehead = trace.prev;
26939 return;
26940 }
26941 void parser___ReduceAction409___action(val_t self, val_t param0) {
26942 struct trace_t trace = {NULL, "parser::ReduceAction409::action (src/parser//parser.nit:14057,2--14067:34)"};
26943 val_t variable0;
26944 val_t variable1;
26945 val_t variable2;
26946 val_t variable3;
26947 val_t variable4;
26948 val_t variable5;
26949 trace.prev = tracehead; tracehead = &trace;
26950 variable0 = param0;
26951 variable1 = NIT_NULL /*null*/;
26952 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26953 variable2 = variable3;
26954 variable3 = variable2 /*nodearraylist1*/;
26955 variable4 = TAG_Bool(( variable3 /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
26956 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14062,6--36\n"); nit_exit(1);}
26957 variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
26958 variable4 = variable5;
26959 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
26960 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
26961 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
26962 tracehead = trace.prev;
26963 return;
26964 }
26965 void parser___ReduceAction409___init(val_t self, int* init_table) {
26966 struct trace_t trace = {NULL, "parser::ReduceAction409::init (src/parser//parser.nit:14069,1--4)"};
26967 trace.prev = tracehead; tracehead = &trace;
26968 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction409].i]) return;
26969 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction409].i] = 1;
26970 tracehead = trace.prev;
26971 return;
26972 }
26973 void parser___ReduceAction410___action(val_t self, val_t param0) {
26974 struct trace_t trace = {NULL, "parser::ReduceAction410::action (src/parser//parser.nit:14073,2--14083:34)"};
26975 val_t variable0;
26976 val_t variable1;
26977 val_t variable2;
26978 val_t variable3;
26979 val_t variable4;
26980 val_t variable5;
26981 trace.prev = tracehead; tracehead = &trace;
26982 variable0 = param0;
26983 variable1 = NIT_NULL /*null*/;
26984 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
26985 variable2 = variable3;
26986 variable3 = variable2 /*nodearraylist1*/;
26987 variable4 = TAG_Bool(( variable3 /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
26988 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14078,6--38\n"); nit_exit(1);}
26989 variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
26990 variable4 = variable5;
26991 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
26992 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
26993 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
26994 tracehead = trace.prev;
26995 return;
26996 }
26997 void parser___ReduceAction410___init(val_t self, int* init_table) {
26998 struct trace_t trace = {NULL, "parser::ReduceAction410::init (src/parser//parser.nit:14085,1--4)"};
26999 trace.prev = tracehead; tracehead = &trace;
27000 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction410].i]) return;
27001 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction410].i] = 1;
27002 tracehead = trace.prev;
27003 return;
27004 }
27005 void parser___ReduceAction411___action(val_t self, val_t param0) {
27006 struct trace_t trace = {NULL, "parser::ReduceAction411::action (src/parser//parser.nit:14089,2--14099:34)"};
27007 val_t variable0;
27008 val_t variable1;
27009 val_t variable2;
27010 val_t variable3;
27011 val_t variable4;
27012 val_t variable5;
27013 trace.prev = tracehead; tracehead = &trace;
27014 variable0 = param0;
27015 variable1 = NIT_NULL /*null*/;
27016 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27017 variable2 = variable3;
27018 variable3 = variable2 /*nodearraylist1*/;
27019 variable4 = TAG_Bool(( variable3 /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
27020 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14094,6--36\n"); nit_exit(1);}
27021 variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
27022 variable4 = variable5;
27023 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
27024 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
27025 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
27026 tracehead = trace.prev;
27027 return;
27028 }
27029 void parser___ReduceAction411___init(val_t self, int* init_table) {
27030 struct trace_t trace = {NULL, "parser::ReduceAction411::init (src/parser//parser.nit:14101,1--4)"};
27031 trace.prev = tracehead; tracehead = &trace;
27032 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction411].i]) return;
27033 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction411].i] = 1;
27034 tracehead = trace.prev;
27035 return;
27036 }
27037 void parser___ReduceAction412___action(val_t self, val_t param0) {
27038 struct trace_t trace = {NULL, "parser::ReduceAction412::action (src/parser//parser.nit:14105,2--14115:34)"};
27039 val_t variable0;
27040 val_t variable1;
27041 val_t variable2;
27042 val_t variable3;
27043 val_t variable4;
27044 val_t variable5;
27045 trace.prev = tracehead; tracehead = &trace;
27046 variable0 = param0;
27047 variable1 = NIT_NULL /*null*/;
27048 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27049 variable2 = variable3;
27050 variable3 = variable2 /*nodearraylist1*/;
27051 variable4 = TAG_Bool(( variable3 /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
27052 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14110,6--36\n"); nit_exit(1);}
27053 variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
27054 variable4 = variable5;
27055 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
27056 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
27057 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
27058 tracehead = trace.prev;
27059 return;
27060 }
27061 void parser___ReduceAction412___init(val_t self, int* init_table) {
27062 struct trace_t trace = {NULL, "parser::ReduceAction412::init (src/parser//parser.nit:14117,1--4)"};
27063 trace.prev = tracehead; tracehead = &trace;
27064 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction412].i]) return;
27065 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction412].i] = 1;
27066 tracehead = trace.prev;
27067 return;
27068 }
27069 void parser___ReduceAction413___action(val_t self, val_t param0) {
27070 struct trace_t trace = {NULL, "parser::ReduceAction413::action (src/parser//parser.nit:14121,2--14131:34)"};
27071 val_t variable0;
27072 val_t variable1;
27073 val_t variable2;
27074 val_t variable3;
27075 val_t variable4;
27076 val_t variable5;
27077 trace.prev = tracehead; tracehead = &trace;
27078 variable0 = param0;
27079 variable1 = NIT_NULL /*null*/;
27080 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27081 variable2 = variable3;
27082 variable3 = variable2 /*nodearraylist1*/;
27083 variable4 = TAG_Bool(( variable3 /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
27084 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14126,6--34\n"); nit_exit(1);}
27085 variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
27086 variable4 = variable5;
27087 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
27088 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
27089 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
27090 tracehead = trace.prev;
27091 return;
27092 }
27093 void parser___ReduceAction413___init(val_t self, int* init_table) {
27094 struct trace_t trace = {NULL, "parser::ReduceAction413::init (src/parser//parser.nit:14133,1--4)"};
27095 trace.prev = tracehead; tracehead = &trace;
27096 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction413].i]) return;
27097 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction413].i] = 1;
27098 tracehead = trace.prev;
27099 return;
27100 }
27101 void parser___ReduceAction414___action(val_t self, val_t param0) {
27102 struct trace_t trace = {NULL, "parser::ReduceAction414::action (src/parser//parser.nit:14137,2--14147:34)"};
27103 val_t variable0;
27104 val_t variable1;
27105 val_t variable2;
27106 val_t variable3;
27107 val_t variable4;
27108 val_t variable5;
27109 trace.prev = tracehead; tracehead = &trace;
27110 variable0 = param0;
27111 variable1 = NIT_NULL /*null*/;
27112 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27113 variable2 = variable3;
27114 variable3 = variable2 /*nodearraylist1*/;
27115 variable4 = TAG_Bool(( variable3 /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
27116 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14142,6--32\n"); nit_exit(1);}
27117 variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
27118 variable4 = variable5;
27119 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
27120 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
27121 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
27122 tracehead = trace.prev;
27123 return;
27124 }
27125 void parser___ReduceAction414___init(val_t self, int* init_table) {
27126 struct trace_t trace = {NULL, "parser::ReduceAction414::init (src/parser//parser.nit:14149,1--4)"};
27127 trace.prev = tracehead; tracehead = &trace;
27128 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction414].i]) return;
27129 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction414].i] = 1;
27130 tracehead = trace.prev;
27131 return;
27132 }
27133 void parser___ReduceAction415___action(val_t self, val_t param0) {
27134 struct trace_t trace = {NULL, "parser::ReduceAction415::action (src/parser//parser.nit:14153,2--14163:34)"};
27135 val_t variable0;
27136 val_t variable1;
27137 val_t variable2;
27138 val_t variable3;
27139 val_t variable4;
27140 val_t variable5;
27141 trace.prev = tracehead; tracehead = &trace;
27142 variable0 = param0;
27143 variable1 = NIT_NULL /*null*/;
27144 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27145 variable2 = variable3;
27146 variable3 = variable2 /*nodearraylist1*/;
27147 variable4 = TAG_Bool(( variable3 /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
27148 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14158,6--36\n"); nit_exit(1);}
27149 variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
27150 variable4 = variable5;
27151 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
27152 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
27153 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
27154 tracehead = trace.prev;
27155 return;
27156 }
27157 void parser___ReduceAction415___init(val_t self, int* init_table) {
27158 struct trace_t trace = {NULL, "parser::ReduceAction415::init (src/parser//parser.nit:14165,1--4)"};
27159 trace.prev = tracehead; tracehead = &trace;
27160 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction415].i]) return;
27161 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction415].i] = 1;
27162 tracehead = trace.prev;
27163 return;
27164 }
27165 void parser___ReduceAction416___action(val_t self, val_t param0) {
27166 struct trace_t trace = {NULL, "parser::ReduceAction416::action (src/parser//parser.nit:14169,2--14176:34)"};
27167 val_t variable0;
27168 val_t variable1;
27169 val_t variable2;
27170 val_t variable3;
27171 val_t variable4;
27172 trace.prev = tracehead; tracehead = &trace;
27173 variable0 = param0;
27174 variable1 = NIT_NULL /*null*/;
27175 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27176 variable2 = variable3;
27177 variable3 = variable2 /*nodearraylist1*/;
27178 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27179 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14174,6--32\n"); nit_exit(1);}
27180 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
27181 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
27182 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
27183 tracehead = trace.prev;
27184 return;
27185 }
27186 void parser___ReduceAction416___init(val_t self, int* init_table) {
27187 struct trace_t trace = {NULL, "parser::ReduceAction416::init (src/parser//parser.nit:14178,1--4)"};
27188 trace.prev = tracehead; tracehead = &trace;
27189 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction416].i]) return;
27190 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction416].i] = 1;
27191 tracehead = trace.prev;
27192 return;
27193 }
27194 void parser___ReduceAction417___action(val_t self, val_t param0) {
27195 struct trace_t trace = {NULL, "parser::ReduceAction417::action (src/parser//parser.nit:14182,2--14191:34)"};
27196 val_t variable0;
27197 val_t variable1;
27198 val_t variable2;
27199 val_t variable3;
27200 val_t variable4;
27201 val_t variable5;
27202 val_t variable6;
27203 trace.prev = tracehead; tracehead = &trace;
27204 variable0 = param0;
27205 variable1 = NIT_NULL /*null*/;
27206 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27207 variable2 = variable3;
27208 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27209 variable3 = variable4;
27210 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27211 variable4 = variable5;
27212 variable5 = variable3 /*nodearraylist2*/;
27213 variable6 = TAG_Bool(( variable5 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27214 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14189,6--32\n"); nit_exit(1);}
27215 variable1 = variable5 /*pexprnode1*/ /*node_list=*/;
27216 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/;
27217 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
27218 tracehead = trace.prev;
27219 return;
27220 }
27221 void parser___ReduceAction417___init(val_t self, int* init_table) {
27222 struct trace_t trace = {NULL, "parser::ReduceAction417::init (src/parser//parser.nit:14193,1--4)"};
27223 trace.prev = tracehead; tracehead = &trace;
27224 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction417].i]) return;
27225 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction417].i] = 1;
27226 tracehead = trace.prev;
27227 return;
27228 }
27229 void parser___ReduceAction418___action(val_t self, val_t param0) {
27230 struct trace_t trace = {NULL, "parser::ReduceAction418::action (src/parser//parser.nit:14197,2--14204:34)"};
27231 val_t variable0;
27232 val_t variable1;
27233 val_t variable2;
27234 val_t variable3;
27235 val_t variable4;
27236 trace.prev = tracehead; tracehead = &trace;
27237 variable0 = param0;
27238 variable1 = NIT_NULL /*null*/;
27239 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27240 variable2 = variable3;
27241 variable3 = variable2 /*nodearraylist1*/;
27242 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27243 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14202,6--32\n"); nit_exit(1);}
27244 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
27245 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(75)) /*Parser::go_to*/;
27246 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
27247 tracehead = trace.prev;
27248 return;
27249 }
27250 void parser___ReduceAction418___init(val_t self, int* init_table) {
27251 struct trace_t trace = {NULL, "parser::ReduceAction418::init (src/parser//parser.nit:14206,1--4)"};
27252 trace.prev = tracehead; tracehead = &trace;
27253 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction418].i]) return;
27254 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction418].i] = 1;
27255 tracehead = trace.prev;
27256 return;
27257 }
27258 void parser___ReduceAction419___action(val_t self, val_t param0) {
27259 struct trace_t trace = {NULL, "parser::ReduceAction419::action (src/parser//parser.nit:14210,2--14227:34)"};
27260 val_t variable0;
27261 val_t variable1;
27262 val_t variable2;
27263 val_t variable3;
27264 val_t variable4;
27265 val_t variable5;
27266 val_t variable6;
27267 val_t variable7;
27268 val_t variable8;
27269 val_t variable9;
27270 trace.prev = tracehead; tracehead = &trace;
27271 variable0 = param0;
27272 variable1 = NIT_NULL /*null*/;
27273 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27274 variable2 = variable3;
27275 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27276 variable3 = variable4;
27277 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27278 variable4 = variable5;
27279 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27280 variable5 = variable6;
27281 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
27282 variable6 = variable7;
27283 variable7 = variable4 /*nodearraylist2*/;
27284 variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27285 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14219,6--32\n"); nit_exit(1);}
27286 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable7 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
27287 if (UNTAG_Bool(variable8)) { /*if*/
27288 ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/, variable7 /*pexprnode2*/) /*Array::add*/;
27289 }
27290 variable9 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode3*/); /*new ABlockExpr*/
27291 variable8 = variable9;
27292 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
27293 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(75)) /*Parser::go_to*/;
27294 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
27295 tracehead = trace.prev;
27296 return;
27297 }
27298 void parser___ReduceAction419___init(val_t self, int* init_table) {
27299 struct trace_t trace = {NULL, "parser::ReduceAction419::init (src/parser//parser.nit:14229,1--4)"};
27300 trace.prev = tracehead; tracehead = &trace;
27301 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction419].i]) return;
27302 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction419].i] = 1;
27303 tracehead = trace.prev;
27304 return;
27305 }
27306 void parser___ReduceAction420___action(val_t self, val_t param0) {
27307 struct trace_t trace = {NULL, "parser::ReduceAction420::action (src/parser//parser.nit:14233,2--14260:34)"};
27308 val_t variable0;
27309 val_t variable1;
27310 val_t variable2;
27311 val_t variable3;
27312 val_t variable4;
27313 val_t variable5;
27314 val_t variable6;
27315 val_t variable7;
27316 val_t variable8;
27317 val_t variable9;
27318 val_t variable10;
27319 val_t variable11;
27320 trace.prev = tracehead; tracehead = &trace;
27321 variable0 = param0;
27322 variable1 = NIT_NULL /*null*/;
27323 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27324 variable2 = variable3;
27325 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27326 variable3 = variable4;
27327 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27328 variable4 = variable5;
27329 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27330 variable5 = variable6;
27331 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27332 variable6 = variable7;
27333 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
27334 variable7 = variable8;
27335 variable8 = variable5 /*nodearraylist2*/;
27336 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27337 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14243,6--32\n"); nit_exit(1);}
27338 variable9 = variable4 /*nodearraylist3*/;
27339 variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27340 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14245,6--38\n"); nit_exit(1);}
27341 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
27342 if (UNTAG_Bool(variable10)) { /*if*/
27343 ((array___AbstractArray___add_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode4*/, variable8 /*pexprnode2*/) /*Array::add*/;
27344 }
27345 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
27346 if (UNTAG_Bool(variable10)) { /*if*/
27347 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/;
27348 if (UNTAG_Bool(variable10)) { /*if*/
27349 variable7 = variable9 /*listnode3*/ /*listnode4=*/;
27350 } else { /*if*/
27351 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/;
27352 }
27353 }
27354 variable11 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable7 /*listnode4*/); /*new ABlockExpr*/
27355 variable10 = variable11;
27356 variable1 = variable10 /*pexprnode1*/ /*node_list=*/;
27357 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(75)) /*Parser::go_to*/;
27358 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
27359 tracehead = trace.prev;
27360 return;
27361 }
27362 void parser___ReduceAction420___init(val_t self, int* init_table) {
27363 struct trace_t trace = {NULL, "parser::ReduceAction420::init (src/parser//parser.nit:14262,1--4)"};
27364 trace.prev = tracehead; tracehead = &trace;
27365 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction420].i]) return;
27366 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction420].i] = 1;
27367 tracehead = trace.prev;
27368 return;
27369 }
27370 void parser___ReduceAction421___action(val_t self, val_t param0) {
27371 struct trace_t trace = {NULL, "parser::ReduceAction421::action (src/parser//parser.nit:14266,2--14272:34)"};
27372 val_t variable0;
27373 val_t variable1;
27374 val_t variable2;
27375 val_t variable3;
27376 val_t variable4;
27377 trace.prev = tracehead; tracehead = &trace;
27378 variable0 = param0;
27379 variable1 = NIT_NULL /*null*/;
27380 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27381 variable2 = variable3;
27382 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27383 variable3 = variable4;
27384 variable1 = NIT_NULL /*null*/ /*node_list=*/;
27385 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(75)) /*Parser::go_to*/;
27386 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
27387 tracehead = trace.prev;
27388 return;
27389 }
27390 void parser___ReduceAction421___init(val_t self, int* init_table) {
27391 struct trace_t trace = {NULL, "parser::ReduceAction421::init (src/parser//parser.nit:14274,1--4)"};
27392 trace.prev = tracehead; tracehead = &trace;
27393 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction421].i]) return;
27394 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction421].i] = 1;
27395 tracehead = trace.prev;
27396 return;
27397 }
27398 void parser___ReduceAction422___action(val_t self, val_t param0) {
27399 struct trace_t trace = {NULL, "parser::ReduceAction422::action (src/parser//parser.nit:14278,2--14283:34)"};
27400 val_t variable0;
27401 val_t variable1;
27402 val_t variable2;
27403 val_t variable3;
27404 trace.prev = tracehead; tracehead = &trace;
27405 variable0 = param0;
27406 variable1 = NIT_NULL /*null*/;
27407 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27408 variable2 = variable3;
27409 variable1 = NIT_NULL /*null*/ /*node_list=*/;
27410 variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(75)) /*Parser::go_to*/;
27411 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/;
27412 tracehead = trace.prev;
27413 return;
27414 }
27415 void parser___ReduceAction422___init(val_t self, int* init_table) {
27416 struct trace_t trace = {NULL, "parser::ReduceAction422::init (src/parser//parser.nit:14285,1--4)"};
27417 trace.prev = tracehead; tracehead = &trace;
27418 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction422].i]) return;
27419 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction422].i] = 1;
27420 tracehead = trace.prev;
27421 return;
27422 }
27423 void parser___ReduceAction423___action(val_t self, val_t param0) {
27424 struct trace_t trace = {NULL, "parser::ReduceAction423::action (src/parser//parser.nit:14289,2--14296:34)"};
27425 val_t variable0;
27426 val_t variable1;
27427 val_t variable2;
27428 val_t variable3;
27429 val_t variable4;
27430 trace.prev = tracehead; tracehead = &trace;
27431 variable0 = param0;
27432 variable1 = NIT_NULL /*null*/;
27433 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27434 variable2 = variable3;
27435 variable3 = variable2 /*nodearraylist1*/;
27436 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27437 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14294,6--32\n"); nit_exit(1);}
27438 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
27439 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27440 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
27441 tracehead = trace.prev;
27442 return;
27443 }
27444 void parser___ReduceAction423___init(val_t self, int* init_table) {
27445 struct trace_t trace = {NULL, "parser::ReduceAction423::init (src/parser//parser.nit:14298,1--4)"};
27446 trace.prev = tracehead; tracehead = &trace;
27447 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction423].i]) return;
27448 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction423].i] = 1;
27449 tracehead = trace.prev;
27450 return;
27451 }
27452 void parser___ReduceAction424___action(val_t self, val_t param0) {
27453 struct trace_t trace = {NULL, "parser::ReduceAction424::action (src/parser//parser.nit:14302,2--14309:34)"};
27454 val_t variable0;
27455 val_t variable1;
27456 val_t variable2;
27457 val_t variable3;
27458 val_t variable4;
27459 trace.prev = tracehead; tracehead = &trace;
27460 variable0 = param0;
27461 variable1 = NIT_NULL /*null*/;
27462 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27463 variable2 = variable3;
27464 variable3 = variable2 /*nodearraylist1*/;
27465 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27466 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14307,6--32\n"); nit_exit(1);}
27467 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
27468 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27469 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
27470 tracehead = trace.prev;
27471 return;
27472 }
27473 void parser___ReduceAction424___init(val_t self, int* init_table) {
27474 struct trace_t trace = {NULL, "parser::ReduceAction424::init (src/parser//parser.nit:14311,1--4)"};
27475 trace.prev = tracehead; tracehead = &trace;
27476 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction424].i]) return;
27477 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction424].i] = 1;
27478 tracehead = trace.prev;
27479 return;
27480 }
27481 void parser___ReduceAction425___action(val_t self, val_t param0) {
27482 struct trace_t trace = {NULL, "parser::ReduceAction425::action (src/parser//parser.nit:14315,2--14326:34)"};
27483 val_t variable0;
27484 val_t variable1;
27485 val_t variable2;
27486 val_t variable3;
27487 val_t variable4;
27488 val_t variable5;
27489 trace.prev = tracehead; tracehead = &trace;
27490 variable0 = param0;
27491 variable1 = NIT_NULL /*null*/;
27492 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27493 variable2 = variable3;
27494 variable3 = variable2 /*nodearraylist1*/;
27495 variable4 = TAG_Bool(( variable3 /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
27496 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14320,6--40\n"); nit_exit(1);}
27497 variable5 = NEW_parser_prod___AReturnExpr___init_areturnexpr( variable3 /*tkwreturnnode2*/, NIT_NULL /*null*/); /*new AReturnExpr*/
27498 variable4 = variable5;
27499 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
27500 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27501 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
27502 tracehead = trace.prev;
27503 return;
27504 }
27505 void parser___ReduceAction425___init(val_t self, int* init_table) {
27506 struct trace_t trace = {NULL, "parser::ReduceAction425::init (src/parser//parser.nit:14328,1--4)"};
27507 trace.prev = tracehead; tracehead = &trace;
27508 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction425].i]) return;
27509 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction425].i] = 1;
27510 tracehead = trace.prev;
27511 return;
27512 }
27513 void parser___ReduceAction426___action(val_t self, val_t param0) {
27514 struct trace_t trace = {NULL, "parser::ReduceAction426::action (src/parser//parser.nit:14332,2--14346:34)"};
27515 val_t variable0;
27516 val_t variable1;
27517 val_t variable2;
27518 val_t variable3;
27519 val_t variable4;
27520 val_t variable5;
27521 val_t variable6;
27522 val_t variable7;
27523 trace.prev = tracehead; tracehead = &trace;
27524 variable0 = param0;
27525 variable1 = NIT_NULL /*null*/;
27526 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27527 variable2 = variable3;
27528 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27529 variable3 = variable4;
27530 variable4 = variable3 /*nodearraylist1*/;
27531 variable5 = TAG_Bool(( variable4 /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
27532 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14338,6--40\n"); nit_exit(1);}
27533 variable5 = variable2 /*nodearraylist2*/;
27534 variable6 = TAG_Bool(( variable5 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27535 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14340,6--32\n"); nit_exit(1);}
27536 variable7 = NEW_parser_prod___AReturnExpr___init_areturnexpr( variable4 /*tkwreturnnode2*/, variable5 /*pexprnode3*/); /*new AReturnExpr*/
27537 variable6 = variable7;
27538 variable1 = variable6 /*pexprnode1*/ /*node_list=*/;
27539 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27540 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
27541 tracehead = trace.prev;
27542 return;
27543 }
27544 void parser___ReduceAction426___init(val_t self, int* init_table) {
27545 struct trace_t trace = {NULL, "parser::ReduceAction426::init (src/parser//parser.nit:14348,1--4)"};
27546 trace.prev = tracehead; tracehead = &trace;
27547 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction426].i]) return;
27548 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction426].i] = 1;
27549 tracehead = trace.prev;
27550 return;
27551 }
27552 void parser___ReduceAction427___action(val_t self, val_t param0) {
27553 struct trace_t trace = {NULL, "parser::ReduceAction427::action (src/parser//parser.nit:14352,2--14362:34)"};
27554 val_t variable0;
27555 val_t variable1;
27556 val_t variable2;
27557 val_t variable3;
27558 val_t variable4;
27559 val_t variable5;
27560 trace.prev = tracehead; tracehead = &trace;
27561 variable0 = param0;
27562 variable1 = NIT_NULL /*null*/;
27563 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27564 variable2 = variable3;
27565 variable3 = variable2 /*nodearraylist1*/;
27566 variable4 = TAG_Bool(( variable3 /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
27567 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14357,6--38\n"); nit_exit(1);}
27568 variable5 = NEW_parser_prod___ABreakExpr___init_abreakexpr( variable3 /*tkwbreaknode2*/); /*new ABreakExpr*/
27569 variable4 = variable5;
27570 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
27571 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27572 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
27573 tracehead = trace.prev;
27574 return;
27575 }
27576 void parser___ReduceAction427___init(val_t self, int* init_table) {
27577 struct trace_t trace = {NULL, "parser::ReduceAction427::init (src/parser//parser.nit:14364,1--4)"};
27578 trace.prev = tracehead; tracehead = &trace;
27579 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction427].i]) return;
27580 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction427].i] = 1;
27581 tracehead = trace.prev;
27582 return;
27583 }
27584 void parser___ReduceAction428___action(val_t self, val_t param0) {
27585 struct trace_t trace = {NULL, "parser::ReduceAction428::action (src/parser//parser.nit:14368,2--14378:34)"};
27586 val_t variable0;
27587 val_t variable1;
27588 val_t variable2;
27589 val_t variable3;
27590 val_t variable4;
27591 val_t variable5;
27592 trace.prev = tracehead; tracehead = &trace;
27593 variable0 = param0;
27594 variable1 = NIT_NULL /*null*/;
27595 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27596 variable2 = variable3;
27597 variable3 = variable2 /*nodearraylist1*/;
27598 variable4 = TAG_Bool(( variable3 /*tkwabortnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwabortnode2*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
27599 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14373,6--38\n"); nit_exit(1);}
27600 variable5 = NEW_parser_prod___AAbortExpr___init_aabortexpr( variable3 /*tkwabortnode2*/); /*new AAbortExpr*/
27601 variable4 = variable5;
27602 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
27603 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27604 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
27605 tracehead = trace.prev;
27606 return;
27607 }
27608 void parser___ReduceAction428___init(val_t self, int* init_table) {
27609 struct trace_t trace = {NULL, "parser::ReduceAction428::init (src/parser//parser.nit:14380,1--4)"};
27610 trace.prev = tracehead; tracehead = &trace;
27611 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction428].i]) return;
27612 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction428].i] = 1;
27613 tracehead = trace.prev;
27614 return;
27615 }
27616 void parser___ReduceAction429___action(val_t self, val_t param0) {
27617 struct trace_t trace = {NULL, "parser::ReduceAction429::action (src/parser//parser.nit:14384,2--14394:34)"};
27618 val_t variable0;
27619 val_t variable1;
27620 val_t variable2;
27621 val_t variable3;
27622 val_t variable4;
27623 val_t variable5;
27624 trace.prev = tracehead; tracehead = &trace;
27625 variable0 = param0;
27626 variable1 = NIT_NULL /*null*/;
27627 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27628 variable2 = variable3;
27629 variable3 = variable2 /*nodearraylist1*/;
27630 variable4 = TAG_Bool(( variable3 /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
27631 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14389,6--44\n"); nit_exit(1);}
27632 variable5 = NEW_parser_prod___AContinueExpr___init_acontinueexpr( variable3 /*tkwcontinuenode2*/); /*new AContinueExpr*/
27633 variable4 = variable5;
27634 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
27635 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27636 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
27637 tracehead = trace.prev;
27638 return;
27639 }
27640 void parser___ReduceAction429___init(val_t self, int* init_table) {
27641 struct trace_t trace = {NULL, "parser::ReduceAction429::init (src/parser//parser.nit:14396,1--4)"};
27642 trace.prev = tracehead; tracehead = &trace;
27643 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction429].i]) return;
27644 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction429].i] = 1;
27645 tracehead = trace.prev;
27646 return;
27647 }
27648 void parser___ReduceAction430___action(val_t self, val_t param0) {
27649 struct trace_t trace = {NULL, "parser::ReduceAction430::action (src/parser//parser.nit:14400,2--14407:34)"};
27650 val_t variable0;
27651 val_t variable1;
27652 val_t variable2;
27653 val_t variable3;
27654 val_t variable4;
27655 trace.prev = tracehead; tracehead = &trace;
27656 variable0 = param0;
27657 variable1 = NIT_NULL /*null*/;
27658 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27659 variable2 = variable3;
27660 variable3 = variable2 /*nodearraylist1*/;
27661 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27662 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14405,6--32\n"); nit_exit(1);}
27663 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
27664 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27665 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
27666 tracehead = trace.prev;
27667 return;
27668 }
27669 void parser___ReduceAction430___init(val_t self, int* init_table) {
27670 struct trace_t trace = {NULL, "parser::ReduceAction430::init (src/parser//parser.nit:14409,1--4)"};
27671 trace.prev = tracehead; tracehead = &trace;
27672 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction430].i]) return;
27673 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction430].i] = 1;
27674 tracehead = trace.prev;
27675 return;
27676 }
27677 void parser___ReduceAction431___action(val_t self, val_t param0) {
27678 struct trace_t trace = {NULL, "parser::ReduceAction431::action (src/parser//parser.nit:14413,2--14420:34)"};
27679 val_t variable0;
27680 val_t variable1;
27681 val_t variable2;
27682 val_t variable3;
27683 val_t variable4;
27684 trace.prev = tracehead; tracehead = &trace;
27685 variable0 = param0;
27686 variable1 = NIT_NULL /*null*/;
27687 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27688 variable2 = variable3;
27689 variable3 = variable2 /*nodearraylist1*/;
27690 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27691 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14418,6--32\n"); nit_exit(1);}
27692 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
27693 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27694 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
27695 tracehead = trace.prev;
27696 return;
27697 }
27698 void parser___ReduceAction431___init(val_t self, int* init_table) {
27699 struct trace_t trace = {NULL, "parser::ReduceAction431::init (src/parser//parser.nit:14422,1--4)"};
27700 trace.prev = tracehead; tracehead = &trace;
27701 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction431].i]) return;
27702 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction431].i] = 1;
27703 tracehead = trace.prev;
27704 return;
27705 }
27706 void parser___ReduceAction432___action(val_t self, val_t param0) {
27707 struct trace_t trace = {NULL, "parser::ReduceAction432::action (src/parser//parser.nit:14426,2--14433:34)"};
27708 val_t variable0;
27709 val_t variable1;
27710 val_t variable2;
27711 val_t variable3;
27712 val_t variable4;
27713 trace.prev = tracehead; tracehead = &trace;
27714 variable0 = param0;
27715 variable1 = NIT_NULL /*null*/;
27716 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27717 variable2 = variable3;
27718 variable3 = variable2 /*nodearraylist1*/;
27719 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27720 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14431,6--32\n"); nit_exit(1);}
27721 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
27722 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27723 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
27724 tracehead = trace.prev;
27725 return;
27726 }
27727 void parser___ReduceAction432___init(val_t self, int* init_table) {
27728 struct trace_t trace = {NULL, "parser::ReduceAction432::init (src/parser//parser.nit:14435,1--4)"};
27729 trace.prev = tracehead; tracehead = &trace;
27730 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction432].i]) return;
27731 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction432].i] = 1;
27732 tracehead = trace.prev;
27733 return;
27734 }
27735 void parser___ReduceAction433___action(val_t self, val_t param0) {
27736 struct trace_t trace = {NULL, "parser::ReduceAction433::action (src/parser//parser.nit:14439,2--14446:34)"};
27737 val_t variable0;
27738 val_t variable1;
27739 val_t variable2;
27740 val_t variable3;
27741 val_t variable4;
27742 trace.prev = tracehead; tracehead = &trace;
27743 variable0 = param0;
27744 variable1 = NIT_NULL /*null*/;
27745 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27746 variable2 = variable3;
27747 variable3 = variable2 /*nodearraylist1*/;
27748 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27749 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14444,6--32\n"); nit_exit(1);}
27750 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
27751 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27752 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
27753 tracehead = trace.prev;
27754 return;
27755 }
27756 void parser___ReduceAction433___init(val_t self, int* init_table) {
27757 struct trace_t trace = {NULL, "parser::ReduceAction433::init (src/parser//parser.nit:14448,1--4)"};
27758 trace.prev = tracehead; tracehead = &trace;
27759 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction433].i]) return;
27760 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction433].i] = 1;
27761 tracehead = trace.prev;
27762 return;
27763 }
27764 void parser___ReduceAction434___action(val_t self, val_t param0) {
27765 struct trace_t trace = {NULL, "parser::ReduceAction434::action (src/parser//parser.nit:14452,2--14459:34)"};
27766 val_t variable0;
27767 val_t variable1;
27768 val_t variable2;
27769 val_t variable3;
27770 val_t variable4;
27771 trace.prev = tracehead; tracehead = &trace;
27772 variable0 = param0;
27773 variable1 = NIT_NULL /*null*/;
27774 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27775 variable2 = variable3;
27776 variable3 = variable2 /*nodearraylist1*/;
27777 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27778 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14457,6--32\n"); nit_exit(1);}
27779 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
27780 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27781 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
27782 tracehead = trace.prev;
27783 return;
27784 }
27785 void parser___ReduceAction434___init(val_t self, int* init_table) {
27786 struct trace_t trace = {NULL, "parser::ReduceAction434::init (src/parser//parser.nit:14461,1--4)"};
27787 trace.prev = tracehead; tracehead = &trace;
27788 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction434].i]) return;
27789 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction434].i] = 1;
27790 tracehead = trace.prev;
27791 return;
27792 }
27793 void parser___ReduceAction435___action(val_t self, val_t param0) {
27794 struct trace_t trace = {NULL, "parser::ReduceAction435::action (src/parser//parser.nit:14465,2--14493:34)"};
27795 val_t variable0;
27796 val_t variable1;
27797 val_t variable2;
27798 val_t variable3;
27799 val_t variable4;
27800 val_t variable5;
27801 val_t variable6;
27802 val_t variable7;
27803 val_t variable8;
27804 val_t variable9;
27805 val_t variable10;
27806 val_t variable11;
27807 val_t variable12;
27808 trace.prev = tracehead; tracehead = &trace;
27809 variable0 = param0;
27810 variable1 = NIT_NULL /*null*/;
27811 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27812 variable2 = variable3;
27813 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27814 variable3 = variable4;
27815 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27816 variable4 = variable5;
27817 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27818 variable5 = variable6;
27819 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27820 variable6 = variable7;
27821 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
27822 variable7 = variable8;
27823 variable8 = variable6 /*nodearraylist1*/;
27824 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27825 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14475,6--32\n"); nit_exit(1);}
27826 variable9 = variable3 /*nodearraylist4*/;
27827 variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
27828 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14477,6--28\n"); nit_exit(1);}
27829 variable10 = variable2 /*nodearraylist5*/;
27830 variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27831 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14479,6--38\n"); nit_exit(1);}
27832 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
27833 if (UNTAG_Bool(variable11)) { /*if*/
27834 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
27835 if (UNTAG_Bool(variable11)) { /*if*/
27836 variable7 = variable10 /*listnode4*/ /*listnode5=*/;
27837 } else { /*if*/
27838 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/;
27839 }
27840 }
27841 variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/, variable9 /*tidnode3*/, variable7 /*listnode5*/); /*new ACallExpr*/
27842 variable11 = variable12;
27843 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
27844 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27845 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
27846 tracehead = trace.prev;
27847 return;
27848 }
27849 void parser___ReduceAction435___init(val_t self, int* init_table) {
27850 struct trace_t trace = {NULL, "parser::ReduceAction435::init (src/parser//parser.nit:14495,1--4)"};
27851 trace.prev = tracehead; tracehead = &trace;
27852 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction435].i]) return;
27853 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction435].i] = 1;
27854 tracehead = trace.prev;
27855 return;
27856 }
27857 void parser___ReduceAction436___action(val_t self, val_t param0) {
27858 struct trace_t trace = {NULL, "parser::ReduceAction436::action (src/parser//parser.nit:14499,2--14524:34)"};
27859 val_t variable0;
27860 val_t variable1;
27861 val_t variable2;
27862 val_t variable3;
27863 val_t variable4;
27864 val_t variable5;
27865 val_t variable6;
27866 val_t variable7;
27867 val_t variable8;
27868 val_t variable9;
27869 trace.prev = tracehead; tracehead = &trace;
27870 variable0 = param0;
27871 variable1 = NIT_NULL /*null*/;
27872 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27873 variable2 = variable3;
27874 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27875 variable3 = variable4;
27876 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
27877 variable4 = variable5;
27878 variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
27879 variable5 = variable6;
27880 variable6 = variable3 /*nodearraylist1*/;
27881 variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
27882 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14508,6--28\n"); nit_exit(1);}
27883 variable7 = variable2 /*nodearraylist2*/;
27884 variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27885 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14510,6--38\n"); nit_exit(1);}
27886 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
27887 if (UNTAG_Bool(variable8)) { /*if*/
27888 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
27889 if (UNTAG_Bool(variable8)) { /*if*/
27890 variable4 = variable7 /*listnode4*/ /*listnode5=*/;
27891 } else { /*if*/
27892 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/;
27893 }
27894 }
27895 variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/, variable6 /*tidnode3*/, variable4 /*listnode5*/); /*new ACallExpr*/
27896 variable8 = variable9;
27897 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
27898 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27899 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
27900 tracehead = trace.prev;
27901 return;
27902 }
27903 void parser___ReduceAction436___init(val_t self, int* init_table) {
27904 struct trace_t trace = {NULL, "parser::ReduceAction436::init (src/parser//parser.nit:14526,1--4)"};
27905 trace.prev = tracehead; tracehead = &trace;
27906 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction436].i]) return;
27907 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction436].i] = 1;
27908 tracehead = trace.prev;
27909 return;
27910 }
27911 void parser___ReduceAction437___action(val_t self, val_t param0) {
27912 struct trace_t trace = {NULL, "parser::ReduceAction437::action (src/parser//parser.nit:14530,2--14553:34)"};
27913 val_t variable0;
27914 val_t variable1;
27915 val_t variable2;
27916 val_t variable3;
27917 val_t variable4;
27918 val_t variable5;
27919 val_t variable6;
27920 val_t variable7;
27921 val_t variable8;
27922 trace.prev = tracehead; tracehead = &trace;
27923 variable0 = param0;
27924 variable1 = NIT_NULL /*null*/;
27925 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27926 variable2 = variable3;
27927 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27928 variable3 = variable4;
27929 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
27930 variable4 = variable5;
27931 variable5 = variable3 /*nodearraylist1*/;
27932 variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
27933 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14537,6--38\n"); nit_exit(1);}
27934 variable6 = variable2 /*nodearraylist2*/;
27935 variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27936 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14539,6--38\n"); nit_exit(1);}
27937 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
27938 if (UNTAG_Bool(variable7)) { /*if*/
27939 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
27940 if (UNTAG_Bool(variable7)) { /*if*/
27941 variable4 = variable6 /*listnode4*/ /*listnode5=*/;
27942 } else { /*if*/
27943 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable6 /*listnode4*/) /*Array::append*/;
27944 }
27945 }
27946 variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable5 /*tkwsupernode3*/, variable4 /*listnode5*/); /*new ASuperExpr*/
27947 variable7 = variable8;
27948 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
27949 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
27950 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
27951 tracehead = trace.prev;
27952 return;
27953 }
27954 void parser___ReduceAction437___init(val_t self, int* init_table) {
27955 struct trace_t trace = {NULL, "parser::ReduceAction437::init (src/parser//parser.nit:14555,1--4)"};
27956 trace.prev = tracehead; tracehead = &trace;
27957 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction437].i]) return;
27958 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction437].i] = 1;
27959 tracehead = trace.prev;
27960 return;
27961 }
27962 void parser___ReduceAction438___action(val_t self, val_t param0) {
27963 struct trace_t trace = {NULL, "parser::ReduceAction438::action (src/parser//parser.nit:14559,2--14585:34)"};
27964 val_t variable0;
27965 val_t variable1;
27966 val_t variable2;
27967 val_t variable3;
27968 val_t variable4;
27969 val_t variable5;
27970 val_t variable6;
27971 val_t variable7;
27972 val_t variable8;
27973 val_t variable9;
27974 val_t variable10;
27975 trace.prev = tracehead; tracehead = &trace;
27976 variable0 = param0;
27977 variable1 = NIT_NULL /*null*/;
27978 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27979 variable2 = variable3;
27980 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27981 variable3 = variable4;
27982 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
27983 variable4 = variable5;
27984 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
27985 variable5 = variable6;
27986 variable6 = variable4 /*nodearraylist1*/;
27987 variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
27988 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14567,6--42\n"); nit_exit(1);}
27989 variable7 = variable3 /*nodearraylist2*/;
27990 variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
27991 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14569,6--38\n"); nit_exit(1);}
27992 variable8 = variable2 /*nodearraylist3*/;
27993 variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
27994 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14571,6--38\n"); nit_exit(1);}
27995 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
27996 if (UNTAG_Bool(variable9)) { /*if*/
27997 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
27998 if (UNTAG_Bool(variable9)) { /*if*/
27999 variable5 = variable8 /*listnode4*/ /*listnode5=*/;
28000 } else { /*if*/
28001 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/;
28002 }
28003 }
28004 variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/, variable7 /*tkwsupernode3*/, variable5 /*listnode5*/); /*new ASuperExpr*/
28005 variable9 = variable10;
28006 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
28007 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
28008 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
28009 tracehead = trace.prev;
28010 return;
28011 }
28012 void parser___ReduceAction438___init(val_t self, int* init_table) {
28013 struct trace_t trace = {NULL, "parser::ReduceAction438::init (src/parser//parser.nit:14587,1--4)"};
28014 trace.prev = tracehead; tracehead = &trace;
28015 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction438].i]) return;
28016 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction438].i] = 1;
28017 tracehead = trace.prev;
28018 return;
28019 }
28020 void parser___ReduceAction439___action(val_t self, val_t param0) {
28021 struct trace_t trace = {NULL, "parser::ReduceAction439::action (src/parser//parser.nit:14591,2--14619:34)"};
28022 val_t variable0;
28023 val_t variable1;
28024 val_t variable2;
28025 val_t variable3;
28026 val_t variable4;
28027 val_t variable5;
28028 val_t variable6;
28029 val_t variable7;
28030 val_t variable8;
28031 val_t variable9;
28032 val_t variable10;
28033 val_t variable11;
28034 val_t variable12;
28035 trace.prev = tracehead; tracehead = &trace;
28036 variable0 = param0;
28037 variable1 = NIT_NULL /*null*/;
28038 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28039 variable2 = variable3;
28040 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28041 variable3 = variable4;
28042 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28043 variable4 = variable5;
28044 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28045 variable5 = variable6;
28046 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28047 variable6 = variable7;
28048 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
28049 variable7 = variable8;
28050 variable8 = variable6 /*nodearraylist1*/;
28051 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28052 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14601,6--32\n"); nit_exit(1);}
28053 variable9 = variable3 /*nodearraylist4*/;
28054 variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
28055 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14603,6--36\n"); nit_exit(1);}
28056 variable10 = variable2 /*nodearraylist5*/;
28057 variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28058 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14605,6--38\n"); nit_exit(1);}
28059 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
28060 if (UNTAG_Bool(variable11)) { /*if*/
28061 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
28062 if (UNTAG_Bool(variable11)) { /*if*/
28063 variable7 = variable10 /*listnode4*/ /*listnode5=*/;
28064 } else { /*if*/
28065 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/;
28066 }
28067 }
28068 variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/, variable9 /*tkwinitnode3*/, variable7 /*listnode5*/); /*new AInitExpr*/
28069 variable11 = variable12;
28070 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
28071 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
28072 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
28073 tracehead = trace.prev;
28074 return;
28075 }
28076 void parser___ReduceAction439___init(val_t self, int* init_table) {
28077 struct trace_t trace = {NULL, "parser::ReduceAction439::init (src/parser//parser.nit:14621,1--4)"};
28078 trace.prev = tracehead; tracehead = &trace;
28079 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction439].i]) return;
28080 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction439].i] = 1;
28081 tracehead = trace.prev;
28082 return;
28083 }
28084 void parser___ReduceAction440___action(val_t self, val_t param0) {
28085 struct trace_t trace = {NULL, "parser::ReduceAction440::action (src/parser//parser.nit:14625,2--14650:34)"};
28086 val_t variable0;
28087 val_t variable1;
28088 val_t variable2;
28089 val_t variable3;
28090 val_t variable4;
28091 val_t variable5;
28092 val_t variable6;
28093 val_t variable7;
28094 val_t variable8;
28095 val_t variable9;
28096 trace.prev = tracehead; tracehead = &trace;
28097 variable0 = param0;
28098 variable1 = NIT_NULL /*null*/;
28099 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28100 variable2 = variable3;
28101 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28102 variable3 = variable4;
28103 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
28104 variable4 = variable5;
28105 variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
28106 variable5 = variable6;
28107 variable6 = variable3 /*nodearraylist1*/;
28108 variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
28109 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14634,6--36\n"); nit_exit(1);}
28110 variable7 = variable2 /*nodearraylist2*/;
28111 variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28112 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14636,6--38\n"); nit_exit(1);}
28113 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
28114 if (UNTAG_Bool(variable8)) { /*if*/
28115 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
28116 if (UNTAG_Bool(variable8)) { /*if*/
28117 variable4 = variable7 /*listnode4*/ /*listnode5=*/;
28118 } else { /*if*/
28119 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/;
28120 }
28121 }
28122 variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/, variable6 /*tkwinitnode3*/, variable4 /*listnode5*/); /*new AInitExpr*/
28123 variable8 = variable9;
28124 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
28125 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/;
28126 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
28127 tracehead = trace.prev;
28128 return;
28129 }
28130 void parser___ReduceAction440___init(val_t self, int* init_table) {
28131 struct trace_t trace = {NULL, "parser::ReduceAction440::init (src/parser//parser.nit:14652,1--4)"};
28132 trace.prev = tracehead; tracehead = &trace;
28133 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction440].i]) return;
28134 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction440].i] = 1;
28135 tracehead = trace.prev;
28136 return;
28137 }
28138 void parser___ReduceAction441___action(val_t self, val_t param0) {
28139 struct trace_t trace = {NULL, "parser::ReduceAction441::action (src/parser//parser.nit:14656,2--14670:34)"};
28140 val_t variable0;
28141 val_t variable1;
28142 val_t variable2;
28143 val_t variable3;
28144 val_t variable4;
28145 val_t variable5;
28146 val_t variable6;
28147 val_t variable7;
28148 trace.prev = tracehead; tracehead = &trace;
28149 variable0 = param0;
28150 variable1 = NIT_NULL /*null*/;
28151 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28152 variable2 = variable3;
28153 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28154 variable3 = variable4;
28155 variable4 = variable3 /*nodearraylist1*/;
28156 variable5 = TAG_Bool(( variable4 /*tkwdonode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwdonode2*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
28157 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14662,6--32\n"); nit_exit(1);}
28158 variable5 = variable2 /*nodearraylist2*/;
28159 variable6 = TAG_Bool(( variable5 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28160 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14664,6--32\n"); nit_exit(1);}
28161 variable7 = NEW_parser_prod___ADoExpr___init_adoexpr( variable4 /*tkwdonode2*/, variable5 /*pexprnode3*/); /*new ADoExpr*/
28162 variable6 = variable7;
28163 variable1 = variable6 /*pexprnode1*/ /*node_list=*/;
28164 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(77)) /*Parser::go_to*/;
28165 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
28166 tracehead = trace.prev;
28167 return;
28168 }
28169 void parser___ReduceAction441___init(val_t self, int* init_table) {
28170 struct trace_t trace = {NULL, "parser::ReduceAction441::init (src/parser//parser.nit:14672,1--4)"};
28171 trace.prev = tracehead; tracehead = &trace;
28172 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction441].i]) return;
28173 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction441].i] = 1;
28174 tracehead = trace.prev;
28175 return;
28176 }
28177 void parser___ReduceAction442___action(val_t self, val_t param0) {
28178 struct trace_t trace = {NULL, "parser::ReduceAction442::action (src/parser//parser.nit:14676,2--14702:34)"};
28179 val_t variable0;
28180 val_t variable1;
28181 val_t variable2;
28182 val_t variable3;
28183 val_t variable4;
28184 val_t variable5;
28185 val_t variable6;
28186 val_t variable7;
28187 val_t variable8;
28188 val_t variable9;
28189 val_t variable10;
28190 val_t variable11;
28191 val_t variable12;
28192 val_t variable13;
28193 val_t variable14;
28194 val_t variable15;
28195 trace.prev = tracehead; tracehead = &trace;
28196 variable0 = param0;
28197 variable1 = NIT_NULL /*null*/;
28198 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28199 variable2 = variable3;
28200 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28201 variable3 = variable4;
28202 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28203 variable4 = variable5;
28204 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28205 variable5 = variable6;
28206 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28207 variable6 = variable7;
28208 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28209 variable7 = variable8;
28210 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28211 variable8 = variable9;
28212 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28213 variable9 = variable10;
28214 variable10 = variable9 /*nodearraylist1*/;
28215 variable11 = TAG_Bool(( variable10 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
28216 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14688,6--32\n"); nit_exit(1);}
28217 variable11 = variable7 /*nodearraylist3*/;
28218 variable12 = TAG_Bool(( variable11 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28219 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14690,6--32\n"); nit_exit(1);}
28220 variable12 = variable4 /*nodearraylist6*/;
28221 variable13 = TAG_Bool(( variable12 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28222 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14692,6--32\n"); nit_exit(1);}
28223 variable13 = variable2 /*nodearraylist8*/;
28224 variable14 = TAG_Bool(( variable13 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28225 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14694,6--32\n"); nit_exit(1);}
28226 variable15 = NEW_parser_prod___AIfExpr___init_aifexpr( variable10 /*tkwifnode2*/, variable11 /*pexprnode3*/, variable12 /*pexprnode4*/, variable13 /*pexprnode5*/); /*new AIfExpr*/
28227 variable14 = variable15;
28228 variable1 = variable14 /*pexprnode1*/ /*node_list=*/;
28229 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(78)) /*Parser::go_to*/;
28230 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
28231 tracehead = trace.prev;
28232 return;
28233 }
28234 void parser___ReduceAction442___init(val_t self, int* init_table) {
28235 struct trace_t trace = {NULL, "parser::ReduceAction442::init (src/parser//parser.nit:14704,1--4)"};
28236 trace.prev = tracehead; tracehead = &trace;
28237 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction442].i]) return;
28238 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction442].i] = 1;
28239 tracehead = trace.prev;
28240 return;
28241 }
28242 void parser___ReduceAction443___action(val_t self, val_t param0) {
28243 struct trace_t trace = {NULL, "parser::ReduceAction443::action (src/parser//parser.nit:14708,2--14732:34)"};
28244 val_t variable0;
28245 val_t variable1;
28246 val_t variable2;
28247 val_t variable3;
28248 val_t variable4;
28249 val_t variable5;
28250 val_t variable6;
28251 val_t variable7;
28252 val_t variable8;
28253 val_t variable9;
28254 val_t variable10;
28255 val_t variable11;
28256 val_t variable12;
28257 val_t variable13;
28258 trace.prev = tracehead; tracehead = &trace;
28259 variable0 = param0;
28260 variable1 = NIT_NULL /*null*/;
28261 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28262 variable2 = variable3;
28263 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28264 variable3 = variable4;
28265 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28266 variable4 = variable5;
28267 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28268 variable5 = variable6;
28269 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28270 variable6 = variable7;
28271 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28272 variable7 = variable8;
28273 variable8 = variable7 /*nodearraylist1*/;
28274 variable9 = TAG_Bool(( variable8 /*tkwwhilenode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwwhilenode2*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
28275 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14718,6--38\n"); nit_exit(1);}
28276 variable9 = variable5 /*nodearraylist3*/;
28277 variable10 = TAG_Bool(( variable9 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28278 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14720,6--32\n"); nit_exit(1);}
28279 variable10 = variable3 /*nodearraylist5*/;
28280 variable11 = TAG_Bool(( variable10 /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
28281 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14722,6--32\n"); nit_exit(1);}
28282 variable11 = variable2 /*nodearraylist6*/;
28283 variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28284 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14724,6--32\n"); nit_exit(1);}
28285 variable13 = NEW_parser_prod___AWhileExpr___init_awhileexpr( variable8 /*tkwwhilenode2*/, variable9 /*pexprnode3*/, variable10 /*tkwdonode4*/, variable11 /*pexprnode5*/); /*new AWhileExpr*/
28286 variable12 = variable13;
28287 variable1 = variable12 /*pexprnode1*/ /*node_list=*/;
28288 variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(79)) /*Parser::go_to*/;
28289 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/;
28290 tracehead = trace.prev;
28291 return;
28292 }
28293 void parser___ReduceAction443___init(val_t self, int* init_table) {
28294 struct trace_t trace = {NULL, "parser::ReduceAction443::init (src/parser//parser.nit:14734,1--4)"};
28295 trace.prev = tracehead; tracehead = &trace;
28296 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction443].i]) return;
28297 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction443].i] = 1;
28298 tracehead = trace.prev;
28299 return;
28300 }
28301 void parser___ReduceAction444___action(val_t self, val_t param0) {
28302 struct trace_t trace = {NULL, "parser::ReduceAction444::action (src/parser//parser.nit:14738,2--14757:34)"};
28303 val_t variable0;
28304 val_t variable1;
28305 val_t variable2;
28306 val_t variable3;
28307 val_t variable4;
28308 val_t variable5;
28309 val_t variable6;
28310 val_t variable7;
28311 val_t variable8;
28312 val_t variable9;
28313 val_t variable10;
28314 trace.prev = tracehead; tracehead = &trace;
28315 variable0 = param0;
28316 variable1 = NIT_NULL /*null*/;
28317 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28318 variable2 = variable3;
28319 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28320 variable3 = variable4;
28321 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28322 variable4 = variable5;
28323 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28324 variable5 = variable6;
28325 variable6 = variable5 /*nodearraylist1*/;
28326 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28327 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14746,6--32\n"); nit_exit(1);}
28328 variable7 = variable3 /*nodearraylist3*/;
28329 variable8 = TAG_Bool(( variable7 /*tkwdonode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwdonode3*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
28330 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14748,6--32\n"); nit_exit(1);}
28331 variable8 = variable2 /*nodearraylist4*/;
28332 variable9 = TAG_Bool(( variable8 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28333 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14750,6--32\n"); nit_exit(1);}
28334 variable10 = NEW_parser_prod___AForExpr___init_aforexpr( variable6 /*pexprnode2*/, variable7 /*tkwdonode3*/, variable8 /*pexprnode4*/); /*new AForExpr*/
28335 variable9 = variable10;
28336 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
28337 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(80)) /*Parser::go_to*/;
28338 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
28339 tracehead = trace.prev;
28340 return;
28341 }
28342 void parser___ReduceAction444___init(val_t self, int* init_table) {
28343 struct trace_t trace = {NULL, "parser::ReduceAction444::init (src/parser//parser.nit:14759,1--4)"};
28344 trace.prev = tracehead; tracehead = &trace;
28345 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction444].i]) return;
28346 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction444].i] = 1;
28347 tracehead = trace.prev;
28348 return;
28349 }
28350 void parser___ReduceAction445___action(val_t self, val_t param0) {
28351 struct trace_t trace = {NULL, "parser::ReduceAction445::action (src/parser//parser.nit:14763,2--14775:34)"};
28352 val_t variable0;
28353 val_t variable1;
28354 val_t variable2;
28355 val_t variable3;
28356 val_t variable4;
28357 val_t variable5;
28358 val_t variable6;
28359 trace.prev = tracehead; tracehead = &trace;
28360 variable0 = param0;
28361 variable1 = NIT_NULL /*null*/;
28362 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28363 variable2 = variable3;
28364 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
28365 variable3 = variable4;
28366 variable4 = variable2 /*nodearraylist1*/;
28367 variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
28368 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14769,6--38\n"); nit_exit(1);}
28369 variable6 = NEW_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/, variable3 /*listnode3*/); /*new AType*/
28370 variable5 = variable6;
28371 variable1 = variable5 /*ptypenode1*/ /*node_list=*/;
28372 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(81)) /*Parser::go_to*/;
28373 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
28374 tracehead = trace.prev;
28375 return;
28376 }
28377 void parser___ReduceAction445___init(val_t self, int* init_table) {
28378 struct trace_t trace = {NULL, "parser::ReduceAction445::init (src/parser//parser.nit:14777,1--4)"};
28379 trace.prev = tracehead; tracehead = &trace;
28380 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction445].i]) return;
28381 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction445].i] = 1;
28382 tracehead = trace.prev;
28383 return;
28384 }
28385 void parser___ReduceAction446___action(val_t self, val_t param0) {
28386 struct trace_t trace = {NULL, "parser::ReduceAction446::action (src/parser//parser.nit:14781,2--14807:34)"};
28387 val_t variable0;
28388 val_t variable1;
28389 val_t variable2;
28390 val_t variable3;
28391 val_t variable4;
28392 val_t variable5;
28393 val_t variable6;
28394 val_t variable7;
28395 val_t variable8;
28396 val_t variable9;
28397 val_t variable10;
28398 val_t variable11;
28399 val_t variable12;
28400 trace.prev = tracehead; tracehead = &trace;
28401 variable0 = param0;
28402 variable1 = NIT_NULL /*null*/;
28403 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28404 variable2 = variable3;
28405 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28406 variable3 = variable4;
28407 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28408 variable4 = variable5;
28409 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28410 variable5 = variable6;
28411 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28412 variable6 = variable7;
28413 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28414 variable7 = variable8;
28415 variable9 = NEW_array___Array___init(); /*new Array[Object]*/
28416 variable8 = variable9;
28417 variable9 = variable7 /*nodearraylist1*/;
28418 variable10 = TAG_Bool(( variable9 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable9 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
28419 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14792,6--38\n"); nit_exit(1);}
28420 variable10 = variable4 /*nodearraylist4*/;
28421 variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
28422 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14794,6--38\n"); nit_exit(1);}
28423 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ == NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/)))));
28424 if (UNTAG_Bool(variable11)) { /*if*/
28425 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/;
28426 if (UNTAG_Bool(variable11)) { /*if*/
28427 variable8 = variable10 /*listnode3*/ /*listnode4=*/;
28428 } else { /*if*/
28429 ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/, variable10 /*listnode3*/) /*Array::append*/;
28430 }
28431 }
28432 variable12 = NEW_parser_prod___AType___init_atype( variable9 /*tclassidnode2*/, variable8 /*listnode4*/); /*new AType*/
28433 variable11 = variable12;
28434 variable1 = variable11 /*ptypenode1*/ /*node_list=*/;
28435 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(81)) /*Parser::go_to*/;
28436 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
28437 tracehead = trace.prev;
28438 return;
28439 }
28440 void parser___ReduceAction446___init(val_t self, int* init_table) {
28441 struct trace_t trace = {NULL, "parser::ReduceAction446::init (src/parser//parser.nit:14809,1--4)"};
28442 trace.prev = tracehead; tracehead = &trace;
28443 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction446].i]) return;
28444 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction446].i] = 1;
28445 tracehead = trace.prev;
28446 return;
28447 }
28448 void parser___ReduceAction447___action(val_t self, val_t param0) {
28449 struct trace_t trace = {NULL, "parser::ReduceAction447::action (src/parser//parser.nit:14813,2--14820:34)"};
28450 val_t variable0;
28451 val_t variable1;
28452 val_t variable2;
28453 val_t variable3;
28454 val_t variable4;
28455 trace.prev = tracehead; tracehead = &trace;
28456 variable0 = param0;
28457 variable1 = NIT_NULL /*null*/;
28458 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28459 variable2 = variable3;
28460 variable3 = variable2 /*nodearraylist1*/;
28461 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28462 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14818,6--32\n"); nit_exit(1);}
28463 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
28464 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(82)) /*Parser::go_to*/;
28465 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
28466 tracehead = trace.prev;
28467 return;
28468 }
28469 void parser___ReduceAction447___init(val_t self, int* init_table) {
28470 struct trace_t trace = {NULL, "parser::ReduceAction447::init (src/parser//parser.nit:14822,1--4)"};
28471 trace.prev = tracehead; tracehead = &trace;
28472 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction447].i]) return;
28473 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction447].i] = 1;
28474 tracehead = trace.prev;
28475 return;
28476 }
28477 void parser___ReduceAction448___action(val_t self, val_t param0) {
28478 struct trace_t trace = {NULL, "parser::ReduceAction448::action (src/parser//parser.nit:14826,2--14861:34)"};
28479 val_t variable0;
28480 val_t variable1;
28481 val_t variable2;
28482 val_t variable3;
28483 val_t variable4;
28484 val_t variable5;
28485 val_t variable6;
28486 val_t variable7;
28487 val_t variable8;
28488 val_t variable9;
28489 val_t variable10;
28490 val_t variable11;
28491 val_t variable12;
28492 val_t variable13;
28493 val_t variable14;
28494 val_t variable15;
28495 val_t variable16;
28496 val_t variable17;
28497 val_t variable18;
28498 val_t variable19;
28499 val_t variable20;
28500 trace.prev = tracehead; tracehead = &trace;
28501 variable0 = param0;
28502 variable1 = NIT_NULL /*null*/;
28503 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28504 variable2 = variable3;
28505 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28506 variable3 = variable4;
28507 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28508 variable4 = variable5;
28509 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28510 variable5 = variable6;
28511 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28512 variable6 = variable7;
28513 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28514 variable7 = variable8;
28515 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28516 variable8 = variable9;
28517 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28518 variable9 = variable10;
28519 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28520 variable10 = variable11;
28521 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28522 variable11 = variable12;
28523 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28524 variable12 = variable13;
28525 variable13 = variable12 /*nodearraylist1*/;
28526 variable14 = TAG_Bool(( variable13 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable13 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
28527 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14841,6--32\n"); nit_exit(1);}
28528 variable14 = variable10 /*nodearraylist3*/;
28529 variable15 = TAG_Bool(( variable14 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28530 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14843,6--32\n"); nit_exit(1);}
28531 variable15 = variable8 /*nodearraylist5*/;
28532 variable16 = TAG_Bool(( variable15 /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
28533 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14845,6--36\n"); nit_exit(1);}
28534 variable16 = variable6 /*nodearraylist7*/;
28535 variable17 = TAG_Bool(( variable16 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28536 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14847,6--32\n"); nit_exit(1);}
28537 variable17 = variable4 /*nodearraylist9*/;
28538 variable18 = TAG_Bool(( variable17 /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable17 /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
28539 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14849,6--36\n"); nit_exit(1);}
28540 variable18 = variable2 /*nodearraylist11*/;
28541 variable19 = TAG_Bool(( variable18 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28542 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14851,6--32\n"); nit_exit(1);}
28543 variable20 = NEW_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/, variable14 /*pexprnode3*/, variable15 /*tkwthennode4*/, variable16 /*pexprnode5*/, variable17 /*tkwelsenode6*/, variable18 /*pexprnode7*/); /*new AIfexprExpr*/
28544 variable19 = variable20;
28545 variable1 = variable19 /*pexprnode1*/ /*node_list=*/;
28546 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(82)) /*Parser::go_to*/;
28547 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
28548 tracehead = trace.prev;
28549 return;
28550 }
28551 void parser___ReduceAction448___init(val_t self, int* init_table) {
28552 struct trace_t trace = {NULL, "parser::ReduceAction448::init (src/parser//parser.nit:14863,1--4)"};
28553 trace.prev = tracehead; tracehead = &trace;
28554 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction448].i]) return;
28555 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction448].i] = 1;
28556 tracehead = trace.prev;
28557 return;
28558 }
28559 void parser___ReduceAction449___action(val_t self, val_t param0) {
28560 struct trace_t trace = {NULL, "parser::ReduceAction449::action (src/parser//parser.nit:14867,2--14874:34)"};
28561 val_t variable0;
28562 val_t variable1;
28563 val_t variable2;
28564 val_t variable3;
28565 val_t variable4;
28566 trace.prev = tracehead; tracehead = &trace;
28567 variable0 = param0;
28568 variable1 = NIT_NULL /*null*/;
28569 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28570 variable2 = variable3;
28571 variable3 = variable2 /*nodearraylist1*/;
28572 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28573 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14872,6--32\n"); nit_exit(1);}
28574 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
28575 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(83)) /*Parser::go_to*/;
28576 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
28577 tracehead = trace.prev;
28578 return;
28579 }
28580 void parser___ReduceAction449___init(val_t self, int* init_table) {
28581 struct trace_t trace = {NULL, "parser::ReduceAction449::init (src/parser//parser.nit:14876,1--4)"};
28582 trace.prev = tracehead; tracehead = &trace;
28583 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction449].i]) return;
28584 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction449].i] = 1;
28585 tracehead = trace.prev;
28586 return;
28587 }
28588 void parser___ReduceAction450___action(val_t self, val_t param0) {
28589 struct trace_t trace = {NULL, "parser::ReduceAction450::action (src/parser//parser.nit:14880,2--14896:34)"};
28590 val_t variable0;
28591 val_t variable1;
28592 val_t variable2;
28593 val_t variable3;
28594 val_t variable4;
28595 val_t variable5;
28596 val_t variable6;
28597 val_t variable7;
28598 val_t variable8;
28599 val_t variable9;
28600 trace.prev = tracehead; tracehead = &trace;
28601 variable0 = param0;
28602 variable1 = NIT_NULL /*null*/;
28603 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28604 variable2 = variable3;
28605 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28606 variable3 = variable4;
28607 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28608 variable4 = variable5;
28609 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28610 variable5 = variable6;
28611 variable6 = variable5 /*nodearraylist1*/;
28612 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28613 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14888,6--32\n"); nit_exit(1);}
28614 variable7 = variable2 /*nodearraylist4*/;
28615 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28616 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14890,6--32\n"); nit_exit(1);}
28617 variable9 = NEW_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AOrExpr*/
28618 variable8 = variable9;
28619 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
28620 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(83)) /*Parser::go_to*/;
28621 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
28622 tracehead = trace.prev;
28623 return;
28624 }
28625 void parser___ReduceAction450___init(val_t self, int* init_table) {
28626 struct trace_t trace = {NULL, "parser::ReduceAction450::init (src/parser//parser.nit:14898,1--4)"};
28627 trace.prev = tracehead; tracehead = &trace;
28628 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction450].i]) return;
28629 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction450].i] = 1;
28630 tracehead = trace.prev;
28631 return;
28632 }
28633 void parser___ReduceAction451___action(val_t self, val_t param0) {
28634 struct trace_t trace = {NULL, "parser::ReduceAction451::action (src/parser//parser.nit:14902,2--14918:34)"};
28635 val_t variable0;
28636 val_t variable1;
28637 val_t variable2;
28638 val_t variable3;
28639 val_t variable4;
28640 val_t variable5;
28641 val_t variable6;
28642 val_t variable7;
28643 val_t variable8;
28644 val_t variable9;
28645 trace.prev = tracehead; tracehead = &trace;
28646 variable0 = param0;
28647 variable1 = NIT_NULL /*null*/;
28648 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28649 variable2 = variable3;
28650 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28651 variable3 = variable4;
28652 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28653 variable4 = variable5;
28654 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28655 variable5 = variable6;
28656 variable6 = variable5 /*nodearraylist1*/;
28657 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28658 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14910,6--32\n"); nit_exit(1);}
28659 variable7 = variable2 /*nodearraylist4*/;
28660 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28661 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14912,6--32\n"); nit_exit(1);}
28662 variable9 = NEW_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AAndExpr*/
28663 variable8 = variable9;
28664 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
28665 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(83)) /*Parser::go_to*/;
28666 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
28667 tracehead = trace.prev;
28668 return;
28669 }
28670 void parser___ReduceAction451___init(val_t self, int* init_table) {
28671 struct trace_t trace = {NULL, "parser::ReduceAction451::init (src/parser//parser.nit:14920,1--4)"};
28672 trace.prev = tracehead; tracehead = &trace;
28673 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction451].i]) return;
28674 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction451].i] = 1;
28675 tracehead = trace.prev;
28676 return;
28677 }
28678 void parser___ReduceAction452___action(val_t self, val_t param0) {
28679 struct trace_t trace = {NULL, "parser::ReduceAction452::action (src/parser//parser.nit:14924,2--14931:34)"};
28680 val_t variable0;
28681 val_t variable1;
28682 val_t variable2;
28683 val_t variable3;
28684 val_t variable4;
28685 trace.prev = tracehead; tracehead = &trace;
28686 variable0 = param0;
28687 variable1 = NIT_NULL /*null*/;
28688 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28689 variable2 = variable3;
28690 variable3 = variable2 /*nodearraylist1*/;
28691 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28692 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14929,6--32\n"); nit_exit(1);}
28693 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
28694 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(84)) /*Parser::go_to*/;
28695 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
28696 tracehead = trace.prev;
28697 return;
28698 }
28699 void parser___ReduceAction452___init(val_t self, int* init_table) {
28700 struct trace_t trace = {NULL, "parser::ReduceAction452::init (src/parser//parser.nit:14933,1--4)"};
28701 trace.prev = tracehead; tracehead = &trace;
28702 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction452].i]) return;
28703 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction452].i] = 1;
28704 tracehead = trace.prev;
28705 return;
28706 }
28707 void parser___ReduceAction453___action(val_t self, val_t param0) {
28708 struct trace_t trace = {NULL, "parser::ReduceAction453::action (src/parser//parser.nit:14937,2--14952:34)"};
28709 val_t variable0;
28710 val_t variable1;
28711 val_t variable2;
28712 val_t variable3;
28713 val_t variable4;
28714 val_t variable5;
28715 val_t variable6;
28716 val_t variable7;
28717 val_t variable8;
28718 trace.prev = tracehead; tracehead = &trace;
28719 variable0 = param0;
28720 variable1 = NIT_NULL /*null*/;
28721 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28722 variable2 = variable3;
28723 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28724 variable3 = variable4;
28725 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28726 variable4 = variable5;
28727 variable5 = variable4 /*nodearraylist1*/;
28728 variable6 = TAG_Bool(( variable5 /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
28729 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14944,6--34\n"); nit_exit(1);}
28730 variable6 = variable2 /*nodearraylist3*/;
28731 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28732 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14946,6--32\n"); nit_exit(1);}
28733 variable8 = NEW_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/, variable6 /*pexprnode3*/); /*new ANotExpr*/
28734 variable7 = variable8;
28735 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
28736 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(84)) /*Parser::go_to*/;
28737 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
28738 tracehead = trace.prev;
28739 return;
28740 }
28741 void parser___ReduceAction453___init(val_t self, int* init_table) {
28742 struct trace_t trace = {NULL, "parser::ReduceAction453::init (src/parser//parser.nit:14954,1--4)"};
28743 trace.prev = tracehead; tracehead = &trace;
28744 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction453].i]) return;
28745 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction453].i] = 1;
28746 tracehead = trace.prev;
28747 return;
28748 }
28749 void parser___ReduceAction454___action(val_t self, val_t param0) {
28750 struct trace_t trace = {NULL, "parser::ReduceAction454::action (src/parser//parser.nit:14958,2--14965:34)"};
28751 val_t variable0;
28752 val_t variable1;
28753 val_t variable2;
28754 val_t variable3;
28755 val_t variable4;
28756 trace.prev = tracehead; tracehead = &trace;
28757 variable0 = param0;
28758 variable1 = NIT_NULL /*null*/;
28759 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28760 variable2 = variable3;
28761 variable3 = variable2 /*nodearraylist1*/;
28762 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28763 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14963,6--32\n"); nit_exit(1);}
28764 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
28765 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28766 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
28767 tracehead = trace.prev;
28768 return;
28769 }
28770 void parser___ReduceAction454___init(val_t self, int* init_table) {
28771 struct trace_t trace = {NULL, "parser::ReduceAction454::init (src/parser//parser.nit:14967,1--4)"};
28772 trace.prev = tracehead; tracehead = &trace;
28773 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction454].i]) return;
28774 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction454].i] = 1;
28775 tracehead = trace.prev;
28776 return;
28777 }
28778 void parser___ReduceAction455___action(val_t self, val_t param0) {
28779 struct trace_t trace = {NULL, "parser::ReduceAction455::action (src/parser//parser.nit:14971,2--14987:34)"};
28780 val_t variable0;
28781 val_t variable1;
28782 val_t variable2;
28783 val_t variable3;
28784 val_t variable4;
28785 val_t variable5;
28786 val_t variable6;
28787 val_t variable7;
28788 val_t variable8;
28789 val_t variable9;
28790 trace.prev = tracehead; tracehead = &trace;
28791 variable0 = param0;
28792 variable1 = NIT_NULL /*null*/;
28793 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28794 variable2 = variable3;
28795 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28796 variable3 = variable4;
28797 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28798 variable4 = variable5;
28799 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28800 variable5 = variable6;
28801 variable6 = variable5 /*nodearraylist1*/;
28802 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28803 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14979,6--32\n"); nit_exit(1);}
28804 variable7 = variable2 /*nodearraylist4*/;
28805 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28806 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14981,6--32\n"); nit_exit(1);}
28807 variable9 = NEW_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEqExpr*/
28808 variable8 = variable9;
28809 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
28810 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28811 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
28812 tracehead = trace.prev;
28813 return;
28814 }
28815 void parser___ReduceAction455___init(val_t self, int* init_table) {
28816 struct trace_t trace = {NULL, "parser::ReduceAction455::init (src/parser//parser.nit:14989,1--4)"};
28817 trace.prev = tracehead; tracehead = &trace;
28818 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction455].i]) return;
28819 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction455].i] = 1;
28820 tracehead = trace.prev;
28821 return;
28822 }
28823 void parser___ReduceAction456___action(val_t self, val_t param0) {
28824 struct trace_t trace = {NULL, "parser::ReduceAction456::action (src/parser//parser.nit:14993,2--15009:34)"};
28825 val_t variable0;
28826 val_t variable1;
28827 val_t variable2;
28828 val_t variable3;
28829 val_t variable4;
28830 val_t variable5;
28831 val_t variable6;
28832 val_t variable7;
28833 val_t variable8;
28834 val_t variable9;
28835 trace.prev = tracehead; tracehead = &trace;
28836 variable0 = param0;
28837 variable1 = NIT_NULL /*null*/;
28838 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28839 variable2 = variable3;
28840 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28841 variable3 = variable4;
28842 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28843 variable4 = variable5;
28844 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28845 variable5 = variable6;
28846 variable6 = variable5 /*nodearraylist1*/;
28847 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28848 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15001,6--32\n"); nit_exit(1);}
28849 variable7 = variable2 /*nodearraylist4*/;
28850 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28851 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15003,6--32\n"); nit_exit(1);}
28852 variable9 = NEW_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEeExpr*/
28853 variable8 = variable9;
28854 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
28855 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28856 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
28857 tracehead = trace.prev;
28858 return;
28859 }
28860 void parser___ReduceAction456___init(val_t self, int* init_table) {
28861 struct trace_t trace = {NULL, "parser::ReduceAction456::init (src/parser//parser.nit:15011,1--4)"};
28862 trace.prev = tracehead; tracehead = &trace;
28863 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction456].i]) return;
28864 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction456].i] = 1;
28865 tracehead = trace.prev;
28866 return;
28867 }
28868 void parser___ReduceAction457___action(val_t self, val_t param0) {
28869 struct trace_t trace = {NULL, "parser::ReduceAction457::action (src/parser//parser.nit:15015,2--15031:34)"};
28870 val_t variable0;
28871 val_t variable1;
28872 val_t variable2;
28873 val_t variable3;
28874 val_t variable4;
28875 val_t variable5;
28876 val_t variable6;
28877 val_t variable7;
28878 val_t variable8;
28879 val_t variable9;
28880 trace.prev = tracehead; tracehead = &trace;
28881 variable0 = param0;
28882 variable1 = NIT_NULL /*null*/;
28883 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28884 variable2 = variable3;
28885 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28886 variable3 = variable4;
28887 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28888 variable4 = variable5;
28889 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28890 variable5 = variable6;
28891 variable6 = variable5 /*nodearraylist1*/;
28892 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28893 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15023,6--32\n"); nit_exit(1);}
28894 variable7 = variable2 /*nodearraylist4*/;
28895 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28896 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15025,6--32\n"); nit_exit(1);}
28897 variable9 = NEW_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ANeExpr*/
28898 variable8 = variable9;
28899 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
28900 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28901 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
28902 tracehead = trace.prev;
28903 return;
28904 }
28905 void parser___ReduceAction457___init(val_t self, int* init_table) {
28906 struct trace_t trace = {NULL, "parser::ReduceAction457::init (src/parser//parser.nit:15033,1--4)"};
28907 trace.prev = tracehead; tracehead = &trace;
28908 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction457].i]) return;
28909 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction457].i] = 1;
28910 tracehead = trace.prev;
28911 return;
28912 }
28913 void parser___ReduceAction458___action(val_t self, val_t param0) {
28914 struct trace_t trace = {NULL, "parser::ReduceAction458::action (src/parser//parser.nit:15037,2--15053:34)"};
28915 val_t variable0;
28916 val_t variable1;
28917 val_t variable2;
28918 val_t variable3;
28919 val_t variable4;
28920 val_t variable5;
28921 val_t variable6;
28922 val_t variable7;
28923 val_t variable8;
28924 val_t variable9;
28925 trace.prev = tracehead; tracehead = &trace;
28926 variable0 = param0;
28927 variable1 = NIT_NULL /*null*/;
28928 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28929 variable2 = variable3;
28930 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28931 variable3 = variable4;
28932 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28933 variable4 = variable5;
28934 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28935 variable5 = variable6;
28936 variable6 = variable5 /*nodearraylist1*/;
28937 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28938 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15045,6--32\n"); nit_exit(1);}
28939 variable7 = variable2 /*nodearraylist4*/;
28940 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28941 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15047,6--32\n"); nit_exit(1);}
28942 variable9 = NEW_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALtExpr*/
28943 variable8 = variable9;
28944 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
28945 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28946 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
28947 tracehead = trace.prev;
28948 return;
28949 }
28950 void parser___ReduceAction458___init(val_t self, int* init_table) {
28951 struct trace_t trace = {NULL, "parser::ReduceAction458::init (src/parser//parser.nit:15055,1--4)"};
28952 trace.prev = tracehead; tracehead = &trace;
28953 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction458].i]) return;
28954 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction458].i] = 1;
28955 tracehead = trace.prev;
28956 return;
28957 }
28958 void parser___ReduceAction459___action(val_t self, val_t param0) {
28959 struct trace_t trace = {NULL, "parser::ReduceAction459::action (src/parser//parser.nit:15059,2--15075:34)"};
28960 val_t variable0;
28961 val_t variable1;
28962 val_t variable2;
28963 val_t variable3;
28964 val_t variable4;
28965 val_t variable5;
28966 val_t variable6;
28967 val_t variable7;
28968 val_t variable8;
28969 val_t variable9;
28970 trace.prev = tracehead; tracehead = &trace;
28971 variable0 = param0;
28972 variable1 = NIT_NULL /*null*/;
28973 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28974 variable2 = variable3;
28975 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28976 variable3 = variable4;
28977 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28978 variable4 = variable5;
28979 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
28980 variable5 = variable6;
28981 variable6 = variable5 /*nodearraylist1*/;
28982 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28983 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15067,6--32\n"); nit_exit(1);}
28984 variable7 = variable2 /*nodearraylist4*/;
28985 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28986 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15069,6--32\n"); nit_exit(1);}
28987 variable9 = NEW_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALeExpr*/
28988 variable8 = variable9;
28989 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
28990 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/;
28991 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
28992 tracehead = trace.prev;
28993 return;
28994 }
28995 void parser___ReduceAction459___init(val_t self, int* init_table) {
28996 struct trace_t trace = {NULL, "parser::ReduceAction459::init (src/parser//parser.nit:15077,1--4)"};
28997 trace.prev = tracehead; tracehead = &trace;
28998 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction459].i]) return;
28999 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction459].i] = 1;
29000 tracehead = trace.prev;
29001 return;
29002 }
29003 void parser___ReduceAction460___action(val_t self, val_t param0) {
29004 struct trace_t trace = {NULL, "parser::ReduceAction460::action (src/parser//parser.nit:15081,2--15097:34)"};
29005 val_t variable0;
29006 val_t variable1;
29007 val_t variable2;
29008 val_t variable3;
29009 val_t variable4;
29010 val_t variable5;
29011 val_t variable6;
29012 val_t variable7;
29013 val_t variable8;
29014 val_t variable9;
29015 trace.prev = tracehead; tracehead = &trace;
29016 variable0 = param0;
29017 variable1 = NIT_NULL /*null*/;
29018 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29019 variable2 = variable3;
29020 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29021 variable3 = variable4;
29022 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29023 variable4 = variable5;
29024 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29025 variable5 = variable6;
29026 variable6 = variable5 /*nodearraylist1*/;
29027 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29028 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15089,6--32\n"); nit_exit(1);}
29029 variable7 = variable2 /*nodearraylist4*/;
29030 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29031 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15091,6--32\n"); nit_exit(1);}
29032 variable9 = NEW_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGtExpr*/
29033 variable8 = variable9;
29034 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
29035 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/;
29036 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
29037 tracehead = trace.prev;
29038 return;
29039 }
29040 void parser___ReduceAction460___init(val_t self, int* init_table) {
29041 struct trace_t trace = {NULL, "parser::ReduceAction460::init (src/parser//parser.nit:15099,1--4)"};
29042 trace.prev = tracehead; tracehead = &trace;
29043 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction460].i]) return;
29044 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction460].i] = 1;
29045 tracehead = trace.prev;
29046 return;
29047 }
29048 void parser___ReduceAction461___action(val_t self, val_t param0) {
29049 struct trace_t trace = {NULL, "parser::ReduceAction461::action (src/parser//parser.nit:15103,2--15119:34)"};
29050 val_t variable0;
29051 val_t variable1;
29052 val_t variable2;
29053 val_t variable3;
29054 val_t variable4;
29055 val_t variable5;
29056 val_t variable6;
29057 val_t variable7;
29058 val_t variable8;
29059 val_t variable9;
29060 trace.prev = tracehead; tracehead = &trace;
29061 variable0 = param0;
29062 variable1 = NIT_NULL /*null*/;
29063 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29064 variable2 = variable3;
29065 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29066 variable3 = variable4;
29067 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29068 variable4 = variable5;
29069 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29070 variable5 = variable6;
29071 variable6 = variable5 /*nodearraylist1*/;
29072 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29073 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15111,6--32\n"); nit_exit(1);}
29074 variable7 = variable2 /*nodearraylist4*/;
29075 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29076 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15113,6--32\n"); nit_exit(1);}
29077 variable9 = NEW_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGeExpr*/
29078 variable8 = variable9;
29079 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
29080 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/;
29081 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
29082 tracehead = trace.prev;
29083 return;
29084 }
29085 void parser___ReduceAction461___init(val_t self, int* init_table) {
29086 struct trace_t trace = {NULL, "parser::ReduceAction461::init (src/parser//parser.nit:15121,1--4)"};
29087 trace.prev = tracehead; tracehead = &trace;
29088 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction461].i]) return;
29089 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction461].i] = 1;
29090 tracehead = trace.prev;
29091 return;
29092 }
29093 void parser___ReduceAction462___action(val_t self, val_t param0) {
29094 struct trace_t trace = {NULL, "parser::ReduceAction462::action (src/parser//parser.nit:15125,2--15141:34)"};
29095 val_t variable0;
29096 val_t variable1;
29097 val_t variable2;
29098 val_t variable3;
29099 val_t variable4;
29100 val_t variable5;
29101 val_t variable6;
29102 val_t variable7;
29103 val_t variable8;
29104 val_t variable9;
29105 trace.prev = tracehead; tracehead = &trace;
29106 variable0 = param0;
29107 variable1 = NIT_NULL /*null*/;
29108 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29109 variable2 = variable3;
29110 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29111 variable3 = variable4;
29112 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29113 variable4 = variable5;
29114 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29115 variable5 = variable6;
29116 variable6 = variable5 /*nodearraylist1*/;
29117 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29118 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15133,6--32\n"); nit_exit(1);}
29119 variable7 = variable2 /*nodearraylist4*/;
29120 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29121 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15135,6--32\n"); nit_exit(1);}
29122 variable9 = NEW_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarshipExpr*/
29123 variable8 = variable9;
29124 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
29125 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/;
29126 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
29127 tracehead = trace.prev;
29128 return;
29129 }
29130 void parser___ReduceAction462___init(val_t self, int* init_table) {
29131 struct trace_t trace = {NULL, "parser::ReduceAction462::init (src/parser//parser.nit:15143,1--4)"};
29132 trace.prev = tracehead; tracehead = &trace;
29133 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction462].i]) return;
29134 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction462].i] = 1;
29135 tracehead = trace.prev;
29136 return;
29137 }
29138 void parser___ReduceAction463___action(val_t self, val_t param0) {
29139 struct trace_t trace = {NULL, "parser::ReduceAction463::action (src/parser//parser.nit:15147,2--15163:34)"};
29140 val_t variable0;
29141 val_t variable1;
29142 val_t variable2;
29143 val_t variable3;
29144 val_t variable4;
29145 val_t variable5;
29146 val_t variable6;
29147 val_t variable7;
29148 val_t variable8;
29149 val_t variable9;
29150 trace.prev = tracehead; tracehead = &trace;
29151 variable0 = param0;
29152 variable1 = NIT_NULL /*null*/;
29153 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29154 variable2 = variable3;
29155 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29156 variable3 = variable4;
29157 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29158 variable4 = variable5;
29159 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29160 variable5 = variable6;
29161 variable6 = variable5 /*nodearraylist1*/;
29162 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29163 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15155,6--32\n"); nit_exit(1);}
29164 variable7 = variable2 /*nodearraylist4*/;
29165 variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
29166 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15157,6--32\n"); nit_exit(1);}
29167 variable9 = NEW_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/, variable7 /*ptypenode3*/); /*new AIsaExpr*/
29168 variable8 = variable9;
29169 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
29170 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/;
29171 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
29172 tracehead = trace.prev;
29173 return;
29174 }
29175 void parser___ReduceAction463___init(val_t self, int* init_table) {
29176 struct trace_t trace = {NULL, "parser::ReduceAction463::init (src/parser//parser.nit:15165,1--4)"};
29177 trace.prev = tracehead; tracehead = &trace;
29178 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction463].i]) return;
29179 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction463].i] = 1;
29180 tracehead = trace.prev;
29181 return;
29182 }
29183 void parser___ReduceAction464___action(val_t self, val_t param0) {
29184 struct trace_t trace = {NULL, "parser::ReduceAction464::action (src/parser//parser.nit:15169,2--15176:34)"};
29185 val_t variable0;
29186 val_t variable1;
29187 val_t variable2;
29188 val_t variable3;
29189 val_t variable4;
29190 trace.prev = tracehead; tracehead = &trace;
29191 variable0 = param0;
29192 variable1 = NIT_NULL /*null*/;
29193 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29194 variable2 = variable3;
29195 variable3 = variable2 /*nodearraylist1*/;
29196 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29197 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15174,6--32\n"); nit_exit(1);}
29198 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
29199 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(86)) /*Parser::go_to*/;
29200 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
29201 tracehead = trace.prev;
29202 return;
29203 }
29204 void parser___ReduceAction464___init(val_t self, int* init_table) {
29205 struct trace_t trace = {NULL, "parser::ReduceAction464::init (src/parser//parser.nit:15178,1--4)"};
29206 trace.prev = tracehead; tracehead = &trace;
29207 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction464].i]) return;
29208 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction464].i] = 1;
29209 tracehead = trace.prev;
29210 return;
29211 }
29212 void parser___ReduceAction465___action(val_t self, val_t param0) {
29213 struct trace_t trace = {NULL, "parser::ReduceAction465::action (src/parser//parser.nit:15182,2--15198:34)"};
29214 val_t variable0;
29215 val_t variable1;
29216 val_t variable2;
29217 val_t variable3;
29218 val_t variable4;
29219 val_t variable5;
29220 val_t variable6;
29221 val_t variable7;
29222 val_t variable8;
29223 val_t variable9;
29224 trace.prev = tracehead; tracehead = &trace;
29225 variable0 = param0;
29226 variable1 = NIT_NULL /*null*/;
29227 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29228 variable2 = variable3;
29229 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29230 variable3 = variable4;
29231 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29232 variable4 = variable5;
29233 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29234 variable5 = variable6;
29235 variable6 = variable5 /*nodearraylist1*/;
29236 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29237 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15190,6--32\n"); nit_exit(1);}
29238 variable7 = variable2 /*nodearraylist4*/;
29239 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29240 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15192,6--32\n"); nit_exit(1);}
29241 variable9 = NEW_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APlusExpr*/
29242 variable8 = variable9;
29243 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
29244 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(86)) /*Parser::go_to*/;
29245 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
29246 tracehead = trace.prev;
29247 return;
29248 }
29249 void parser___ReduceAction465___init(val_t self, int* init_table) {
29250 struct trace_t trace = {NULL, "parser::ReduceAction465::init (src/parser//parser.nit:15200,1--4)"};
29251 trace.prev = tracehead; tracehead = &trace;
29252 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction465].i]) return;
29253 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction465].i] = 1;
29254 tracehead = trace.prev;
29255 return;
29256 }
29257 void parser___ReduceAction466___action(val_t self, val_t param0) {
29258 struct trace_t trace = {NULL, "parser::ReduceAction466::action (src/parser//parser.nit:15204,2--15220:34)"};
29259 val_t variable0;
29260 val_t variable1;
29261 val_t variable2;
29262 val_t variable3;
29263 val_t variable4;
29264 val_t variable5;
29265 val_t variable6;
29266 val_t variable7;
29267 val_t variable8;
29268 val_t variable9;
29269 trace.prev = tracehead; tracehead = &trace;
29270 variable0 = param0;
29271 variable1 = NIT_NULL /*null*/;
29272 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29273 variable2 = variable3;
29274 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29275 variable3 = variable4;
29276 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29277 variable4 = variable5;
29278 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29279 variable5 = variable6;
29280 variable6 = variable5 /*nodearraylist1*/;
29281 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29282 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15212,6--32\n"); nit_exit(1);}
29283 variable7 = variable2 /*nodearraylist4*/;
29284 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29285 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15214,6--32\n"); nit_exit(1);}
29286 variable9 = NEW_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AMinusExpr*/
29287 variable8 = variable9;
29288 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
29289 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(86)) /*Parser::go_to*/;
29290 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
29291 tracehead = trace.prev;
29292 return;
29293 }
29294 void parser___ReduceAction466___init(val_t self, int* init_table) {
29295 struct trace_t trace = {NULL, "parser::ReduceAction466::init (src/parser//parser.nit:15222,1--4)"};
29296 trace.prev = tracehead; tracehead = &trace;
29297 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction466].i]) return;
29298 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction466].i] = 1;
29299 tracehead = trace.prev;
29300 return;
29301 }
29302 void parser___ReduceAction467___action(val_t self, val_t param0) {
29303 struct trace_t trace = {NULL, "parser::ReduceAction467::action (src/parser//parser.nit:15226,2--15233:34)"};
29304 val_t variable0;
29305 val_t variable1;
29306 val_t variable2;
29307 val_t variable3;
29308 val_t variable4;
29309 trace.prev = tracehead; tracehead = &trace;
29310 variable0 = param0;
29311 variable1 = NIT_NULL /*null*/;
29312 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29313 variable2 = variable3;
29314 variable3 = variable2 /*nodearraylist1*/;
29315 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29316 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15231,6--32\n"); nit_exit(1);}
29317 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
29318 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(87)) /*Parser::go_to*/;
29319 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
29320 tracehead = trace.prev;
29321 return;
29322 }
29323 void parser___ReduceAction467___init(val_t self, int* init_table) {
29324 struct trace_t trace = {NULL, "parser::ReduceAction467::init (src/parser//parser.nit:15235,1--4)"};
29325 trace.prev = tracehead; tracehead = &trace;
29326 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction467].i]) return;
29327 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction467].i] = 1;
29328 tracehead = trace.prev;
29329 return;
29330 }
29331 void parser___ReduceAction468___action(val_t self, val_t param0) {
29332 struct trace_t trace = {NULL, "parser::ReduceAction468::action (src/parser//parser.nit:15239,2--15255:34)"};
29333 val_t variable0;
29334 val_t variable1;
29335 val_t variable2;
29336 val_t variable3;
29337 val_t variable4;
29338 val_t variable5;
29339 val_t variable6;
29340 val_t variable7;
29341 val_t variable8;
29342 val_t variable9;
29343 trace.prev = tracehead; tracehead = &trace;
29344 variable0 = param0;
29345 variable1 = NIT_NULL /*null*/;
29346 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29347 variable2 = variable3;
29348 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29349 variable3 = variable4;
29350 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29351 variable4 = variable5;
29352 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29353 variable5 = variable6;
29354 variable6 = variable5 /*nodearraylist1*/;
29355 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29356 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15247,6--32\n"); nit_exit(1);}
29357 variable7 = variable2 /*nodearraylist4*/;
29358 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29359 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15249,6--32\n"); nit_exit(1);}
29360 variable9 = NEW_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarExpr*/
29361 variable8 = variable9;
29362 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
29363 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(87)) /*Parser::go_to*/;
29364 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
29365 tracehead = trace.prev;
29366 return;
29367 }
29368 void parser___ReduceAction468___init(val_t self, int* init_table) {
29369 struct trace_t trace = {NULL, "parser::ReduceAction468::init (src/parser//parser.nit:15257,1--4)"};
29370 trace.prev = tracehead; tracehead = &trace;
29371 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction468].i]) return;
29372 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction468].i] = 1;
29373 tracehead = trace.prev;
29374 return;
29375 }
29376 void parser___ReduceAction469___action(val_t self, val_t param0) {
29377 struct trace_t trace = {NULL, "parser::ReduceAction469::action (src/parser//parser.nit:15261,2--15277:34)"};
29378 val_t variable0;
29379 val_t variable1;
29380 val_t variable2;
29381 val_t variable3;
29382 val_t variable4;
29383 val_t variable5;
29384 val_t variable6;
29385 val_t variable7;
29386 val_t variable8;
29387 val_t variable9;
29388 trace.prev = tracehead; tracehead = &trace;
29389 variable0 = param0;
29390 variable1 = NIT_NULL /*null*/;
29391 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29392 variable2 = variable3;
29393 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29394 variable3 = variable4;
29395 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29396 variable4 = variable5;
29397 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29398 variable5 = variable6;
29399 variable6 = variable5 /*nodearraylist1*/;
29400 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29401 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15269,6--32\n"); nit_exit(1);}
29402 variable7 = variable2 /*nodearraylist4*/;
29403 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29404 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15271,6--32\n"); nit_exit(1);}
29405 variable9 = NEW_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ASlashExpr*/
29406 variable8 = variable9;
29407 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
29408 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(87)) /*Parser::go_to*/;
29409 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
29410 tracehead = trace.prev;
29411 return;
29412 }
29413 void parser___ReduceAction469___init(val_t self, int* init_table) {
29414 struct trace_t trace = {NULL, "parser::ReduceAction469::init (src/parser//parser.nit:15279,1--4)"};
29415 trace.prev = tracehead; tracehead = &trace;
29416 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction469].i]) return;
29417 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction469].i] = 1;
29418 tracehead = trace.prev;
29419 return;
29420 }
29421 void parser___ReduceAction470___action(val_t self, val_t param0) {
29422 struct trace_t trace = {NULL, "parser::ReduceAction470::action (src/parser//parser.nit:15283,2--15299:34)"};
29423 val_t variable0;
29424 val_t variable1;
29425 val_t variable2;
29426 val_t variable3;
29427 val_t variable4;
29428 val_t variable5;
29429 val_t variable6;
29430 val_t variable7;
29431 val_t variable8;
29432 val_t variable9;
29433 trace.prev = tracehead; tracehead = &trace;
29434 variable0 = param0;
29435 variable1 = NIT_NULL /*null*/;
29436 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29437 variable2 = variable3;
29438 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29439 variable3 = variable4;
29440 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29441 variable4 = variable5;
29442 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29443 variable5 = variable6;
29444 variable6 = variable5 /*nodearraylist1*/;
29445 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29446 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15291,6--32\n"); nit_exit(1);}
29447 variable7 = variable2 /*nodearraylist4*/;
29448 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29449 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15293,6--32\n"); nit_exit(1);}
29450 variable9 = NEW_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APercentExpr*/
29451 variable8 = variable9;
29452 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
29453 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(87)) /*Parser::go_to*/;
29454 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
29455 tracehead = trace.prev;
29456 return;
29457 }
29458 void parser___ReduceAction470___init(val_t self, int* init_table) {
29459 struct trace_t trace = {NULL, "parser::ReduceAction470::init (src/parser//parser.nit:15301,1--4)"};
29460 trace.prev = tracehead; tracehead = &trace;
29461 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction470].i]) return;
29462 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction470].i] = 1;
29463 tracehead = trace.prev;
29464 return;
29465 }
29466 void parser___ReduceAction471___action(val_t self, val_t param0) {
29467 struct trace_t trace = {NULL, "parser::ReduceAction471::action (src/parser//parser.nit:15305,2--15312:34)"};
29468 val_t variable0;
29469 val_t variable1;
29470 val_t variable2;
29471 val_t variable3;
29472 val_t variable4;
29473 trace.prev = tracehead; tracehead = &trace;
29474 variable0 = param0;
29475 variable1 = NIT_NULL /*null*/;
29476 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29477 variable2 = variable3;
29478 variable3 = variable2 /*nodearraylist1*/;
29479 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29480 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15310,6--32\n"); nit_exit(1);}
29481 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
29482 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(88)) /*Parser::go_to*/;
29483 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
29484 tracehead = trace.prev;
29485 return;
29486 }
29487 void parser___ReduceAction471___init(val_t self, int* init_table) {
29488 struct trace_t trace = {NULL, "parser::ReduceAction471::init (src/parser//parser.nit:15314,1--4)"};
29489 trace.prev = tracehead; tracehead = &trace;
29490 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction471].i]) return;
29491 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction471].i] = 1;
29492 tracehead = trace.prev;
29493 return;
29494 }
29495 void parser___ReduceAction472___action(val_t self, val_t param0) {
29496 struct trace_t trace = {NULL, "parser::ReduceAction472::action (src/parser//parser.nit:15318,2--15333:34)"};
29497 val_t variable0;
29498 val_t variable1;
29499 val_t variable2;
29500 val_t variable3;
29501 val_t variable4;
29502 val_t variable5;
29503 val_t variable6;
29504 val_t variable7;
29505 val_t variable8;
29506 trace.prev = tracehead; tracehead = &trace;
29507 variable0 = param0;
29508 variable1 = NIT_NULL /*null*/;
29509 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29510 variable2 = variable3;
29511 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29512 variable3 = variable4;
29513 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29514 variable4 = variable5;
29515 variable5 = variable4 /*nodearraylist1*/;
29516 variable6 = TAG_Bool(( variable5 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
29517 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15325,6--34\n"); nit_exit(1);}
29518 variable6 = variable2 /*nodearraylist3*/;
29519 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29520 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15327,6--32\n"); nit_exit(1);}
29521 variable8 = NEW_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/, variable6 /*pexprnode3*/); /*new AUminusExpr*/
29522 variable7 = variable8;
29523 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
29524 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(88)) /*Parser::go_to*/;
29525 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
29526 tracehead = trace.prev;
29527 return;
29528 }
29529 void parser___ReduceAction472___init(val_t self, int* init_table) {
29530 struct trace_t trace = {NULL, "parser::ReduceAction472::init (src/parser//parser.nit:15335,1--4)"};
29531 trace.prev = tracehead; tracehead = &trace;
29532 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction472].i]) return;
29533 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction472].i] = 1;
29534 tracehead = trace.prev;
29535 return;
29536 }
29537 void parser___ReduceAction473___action(val_t self, val_t param0) {
29538 struct trace_t trace = {NULL, "parser::ReduceAction473::action (src/parser//parser.nit:15339,2--15354:34)"};
29539 val_t variable0;
29540 val_t variable1;
29541 val_t variable2;
29542 val_t variable3;
29543 val_t variable4;
29544 val_t variable5;
29545 val_t variable6;
29546 val_t variable7;
29547 val_t variable8;
29548 trace.prev = tracehead; tracehead = &trace;
29549 variable0 = param0;
29550 variable1 = NIT_NULL /*null*/;
29551 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29552 variable2 = variable3;
29553 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29554 variable3 = variable4;
29555 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29556 variable4 = variable5;
29557 variable5 = variable4 /*nodearraylist1*/;
29558 variable6 = TAG_Bool(( variable5 /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
29559 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15346,6--36\n"); nit_exit(1);}
29560 variable6 = variable2 /*nodearraylist3*/;
29561 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29562 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15348,6--32\n"); nit_exit(1);}
29563 variable8 = NEW_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/, variable6 /*pexprnode3*/); /*new AOnceExpr*/
29564 variable7 = variable8;
29565 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
29566 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(88)) /*Parser::go_to*/;
29567 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
29568 tracehead = trace.prev;
29569 return;
29570 }
29571 void parser___ReduceAction473___init(val_t self, int* init_table) {
29572 struct trace_t trace = {NULL, "parser::ReduceAction473::init (src/parser//parser.nit:15356,1--4)"};
29573 trace.prev = tracehead; tracehead = &trace;
29574 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction473].i]) return;
29575 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction473].i] = 1;
29576 tracehead = trace.prev;
29577 return;
29578 }
29579 void parser___ReduceAction474___action(val_t self, val_t param0) {
29580 struct trace_t trace = {NULL, "parser::ReduceAction474::action (src/parser//parser.nit:15360,2--15367:34)"};
29581 val_t variable0;
29582 val_t variable1;
29583 val_t variable2;
29584 val_t variable3;
29585 val_t variable4;
29586 trace.prev = tracehead; tracehead = &trace;
29587 variable0 = param0;
29588 variable1 = NIT_NULL /*null*/;
29589 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29590 variable2 = variable3;
29591 variable3 = variable2 /*nodearraylist1*/;
29592 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29593 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15365,6--32\n"); nit_exit(1);}
29594 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
29595 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(89)) /*Parser::go_to*/;
29596 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
29597 tracehead = trace.prev;
29598 return;
29599 }
29600 void parser___ReduceAction474___init(val_t self, int* init_table) {
29601 struct trace_t trace = {NULL, "parser::ReduceAction474::init (src/parser//parser.nit:15369,1--4)"};
29602 trace.prev = tracehead; tracehead = &trace;
29603 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction474].i]) return;
29604 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction474].i] = 1;
29605 tracehead = trace.prev;
29606 return;
29607 }
29608 void parser___ReduceAction475___action(val_t self, val_t param0) {
29609 struct trace_t trace = {NULL, "parser::ReduceAction475::action (src/parser//parser.nit:15373,2--15401:34)"};
29610 val_t variable0;
29611 val_t variable1;
29612 val_t variable2;
29613 val_t variable3;
29614 val_t variable4;
29615 val_t variable5;
29616 val_t variable6;
29617 val_t variable7;
29618 val_t variable8;
29619 val_t variable9;
29620 val_t variable10;
29621 val_t variable11;
29622 trace.prev = tracehead; tracehead = &trace;
29623 variable0 = param0;
29624 variable1 = NIT_NULL /*null*/;
29625 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29626 variable2 = variable3;
29627 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29628 variable3 = variable4;
29629 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29630 variable4 = variable5;
29631 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29632 variable5 = variable6;
29633 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
29634 variable6 = variable7;
29635 variable7 = variable5 /*nodearraylist1*/;
29636 variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
29637 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15382,6--34\n"); nit_exit(1);}
29638 variable8 = variable3 /*nodearraylist3*/;
29639 variable9 = TAG_Bool(( variable8 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable8 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
29640 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15384,6--32\n"); nit_exit(1);}
29641 variable9 = variable2 /*nodearraylist4*/;
29642 variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29643 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15386,6--38\n"); nit_exit(1);}
29644 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ == NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
29645 if (UNTAG_Bool(variable10)) { /*if*/
29646 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
29647 if (UNTAG_Bool(variable10)) { /*if*/
29648 variable6 = variable9 /*listnode5*/ /*listnode6=*/;
29649 } else { /*if*/
29650 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable9 /*listnode5*/) /*Array::append*/;
29651 }
29652 }
29653 variable11 = NEW_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/, variable8 /*ptypenode3*/, NIT_NULL /*null*/, variable6 /*listnode6*/); /*new ANewExpr*/
29654 variable10 = variable11;
29655 variable1 = variable10 /*pexprnode1*/ /*node_list=*/;
29656 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(89)) /*Parser::go_to*/;
29657 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
29658 tracehead = trace.prev;
29659 return;
29660 }
29661 void parser___ReduceAction475___init(val_t self, int* init_table) {
29662 struct trace_t trace = {NULL, "parser::ReduceAction475::init (src/parser//parser.nit:15403,1--4)"};
29663 trace.prev = tracehead; tracehead = &trace;
29664 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction475].i]) return;
29665 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction475].i] = 1;
29666 tracehead = trace.prev;
29667 return;
29668 }
29669 void parser___ReduceAction476___action(val_t self, val_t param0) {
29670 struct trace_t trace = {NULL, "parser::ReduceAction476::action (src/parser//parser.nit:15407,2--15423:34)"};
29671 val_t variable0;
29672 val_t variable1;
29673 val_t variable2;
29674 val_t variable3;
29675 val_t variable4;
29676 val_t variable5;
29677 val_t variable6;
29678 val_t variable7;
29679 val_t variable8;
29680 val_t variable9;
29681 trace.prev = tracehead; tracehead = &trace;
29682 variable0 = param0;
29683 variable1 = NIT_NULL /*null*/;
29684 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29685 variable2 = variable3;
29686 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29687 variable3 = variable4;
29688 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29689 variable4 = variable5;
29690 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29691 variable5 = variable6;
29692 variable6 = variable5 /*nodearraylist1*/;
29693 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29694 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15415,6--32\n"); nit_exit(1);}
29695 variable7 = variable2 /*nodearraylist4*/;
29696 variable8 = TAG_Bool(( variable7 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29697 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15417,6--36\n"); nit_exit(1);}
29698 variable9 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable6 /*pexprnode2*/, variable7 /*tattridnode3*/); /*new AAttrExpr*/
29699 variable8 = variable9;
29700 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
29701 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
29702 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
29703 tracehead = trace.prev;
29704 return;
29705 }
29706 void parser___ReduceAction476___init(val_t self, int* init_table) {
29707 struct trace_t trace = {NULL, "parser::ReduceAction476::init (src/parser//parser.nit:15425,1--4)"};
29708 trace.prev = tracehead; tracehead = &trace;
29709 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction476].i]) return;
29710 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction476].i] = 1;
29711 tracehead = trace.prev;
29712 return;
29713 }
29714 void parser___ReduceAction477___action(val_t self, val_t param0) {
29715 struct trace_t trace = {NULL, "parser::ReduceAction477::action (src/parser//parser.nit:15429,2--15442:34)"};
29716 val_t variable0;
29717 val_t variable1;
29718 val_t variable2;
29719 val_t variable3;
29720 val_t variable4;
29721 val_t variable5;
29722 val_t variable6;
29723 trace.prev = tracehead; tracehead = &trace;
29724 variable0 = param0;
29725 variable1 = NIT_NULL /*null*/;
29726 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29727 variable2 = variable3;
29728 variable4 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
29729 variable3 = variable4;
29730 variable4 = variable2 /*nodearraylist1*/;
29731 variable5 = TAG_Bool(( variable4 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable4 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29732 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15436,6--36\n"); nit_exit(1);}
29733 variable6 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable3 /*pexprnode2*/, variable4 /*tattridnode3*/); /*new AAttrExpr*/
29734 variable5 = variable6;
29735 variable1 = variable5 /*pexprnode1*/ /*node_list=*/;
29736 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
29737 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
29738 tracehead = trace.prev;
29739 return;
29740 }
29741 void parser___ReduceAction477___init(val_t self, int* init_table) {
29742 struct trace_t trace = {NULL, "parser::ReduceAction477::init (src/parser//parser.nit:15444,1--4)"};
29743 trace.prev = tracehead; tracehead = &trace;
29744 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction477].i]) return;
29745 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction477].i] = 1;
29746 tracehead = trace.prev;
29747 return;
29748 }
29749 void parser___ReduceAction478___action(val_t self, val_t param0) {
29750 struct trace_t trace = {NULL, "parser::ReduceAction478::action (src/parser//parser.nit:15448,2--15476:34)"};
29751 val_t variable0;
29752 val_t variable1;
29753 val_t variable2;
29754 val_t variable3;
29755 val_t variable4;
29756 val_t variable5;
29757 val_t variable6;
29758 val_t variable7;
29759 val_t variable8;
29760 val_t variable9;
29761 val_t variable10;
29762 val_t variable11;
29763 val_t variable12;
29764 trace.prev = tracehead; tracehead = &trace;
29765 variable0 = param0;
29766 variable1 = NIT_NULL /*null*/;
29767 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29768 variable2 = variable3;
29769 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29770 variable3 = variable4;
29771 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29772 variable4 = variable5;
29773 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29774 variable5 = variable6;
29775 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29776 variable6 = variable7;
29777 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
29778 variable7 = variable8;
29779 variable8 = variable6 /*nodearraylist1*/;
29780 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29781 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15458,6--32\n"); nit_exit(1);}
29782 variable9 = variable3 /*nodearraylist4*/;
29783 variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
29784 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15460,6--28\n"); nit_exit(1);}
29785 variable10 = variable2 /*nodearraylist5*/;
29786 variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29787 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15462,6--38\n"); nit_exit(1);}
29788 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
29789 if (UNTAG_Bool(variable11)) { /*if*/
29790 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
29791 if (UNTAG_Bool(variable11)) { /*if*/
29792 variable7 = variable10 /*listnode4*/ /*listnode5=*/;
29793 } else { /*if*/
29794 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/;
29795 }
29796 }
29797 variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/, variable9 /*tidnode3*/, variable7 /*listnode5*/); /*new ACallExpr*/
29798 variable11 = variable12;
29799 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
29800 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
29801 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
29802 tracehead = trace.prev;
29803 return;
29804 }
29805 void parser___ReduceAction478___init(val_t self, int* init_table) {
29806 struct trace_t trace = {NULL, "parser::ReduceAction478::init (src/parser//parser.nit:15478,1--4)"};
29807 trace.prev = tracehead; tracehead = &trace;
29808 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction478].i]) return;
29809 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction478].i] = 1;
29810 tracehead = trace.prev;
29811 return;
29812 }
29813 void parser___ReduceAction479___action(val_t self, val_t param0) {
29814 struct trace_t trace = {NULL, "parser::ReduceAction479::action (src/parser//parser.nit:15482,2--15507:34)"};
29815 val_t variable0;
29816 val_t variable1;
29817 val_t variable2;
29818 val_t variable3;
29819 val_t variable4;
29820 val_t variable5;
29821 val_t variable6;
29822 val_t variable7;
29823 val_t variable8;
29824 val_t variable9;
29825 trace.prev = tracehead; tracehead = &trace;
29826 variable0 = param0;
29827 variable1 = NIT_NULL /*null*/;
29828 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29829 variable2 = variable3;
29830 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29831 variable3 = variable4;
29832 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
29833 variable4 = variable5;
29834 variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
29835 variable5 = variable6;
29836 variable6 = variable3 /*nodearraylist1*/;
29837 variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
29838 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15491,6--28\n"); nit_exit(1);}
29839 variable7 = variable2 /*nodearraylist2*/;
29840 variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29841 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15493,6--38\n"); nit_exit(1);}
29842 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
29843 if (UNTAG_Bool(variable8)) { /*if*/
29844 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
29845 if (UNTAG_Bool(variable8)) { /*if*/
29846 variable4 = variable7 /*listnode4*/ /*listnode5=*/;
29847 } else { /*if*/
29848 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/;
29849 }
29850 }
29851 variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/, variable6 /*tidnode3*/, variable4 /*listnode5*/); /*new ACallExpr*/
29852 variable8 = variable9;
29853 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
29854 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
29855 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
29856 tracehead = trace.prev;
29857 return;
29858 }
29859 void parser___ReduceAction479___init(val_t self, int* init_table) {
29860 struct trace_t trace = {NULL, "parser::ReduceAction479::init (src/parser//parser.nit:15509,1--4)"};
29861 trace.prev = tracehead; tracehead = &trace;
29862 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction479].i]) return;
29863 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction479].i] = 1;
29864 tracehead = trace.prev;
29865 return;
29866 }
29867 void parser___ReduceAction480___action(val_t self, val_t param0) {
29868 struct trace_t trace = {NULL, "parser::ReduceAction480::action (src/parser//parser.nit:15513,2--15536:34)"};
29869 val_t variable0;
29870 val_t variable1;
29871 val_t variable2;
29872 val_t variable3;
29873 val_t variable4;
29874 val_t variable5;
29875 val_t variable6;
29876 val_t variable7;
29877 val_t variable8;
29878 trace.prev = tracehead; tracehead = &trace;
29879 variable0 = param0;
29880 variable1 = NIT_NULL /*null*/;
29881 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29882 variable2 = variable3;
29883 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29884 variable3 = variable4;
29885 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
29886 variable4 = variable5;
29887 variable5 = variable3 /*nodearraylist1*/;
29888 variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
29889 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15520,6--38\n"); nit_exit(1);}
29890 variable6 = variable2 /*nodearraylist2*/;
29891 variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29892 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15522,6--38\n"); nit_exit(1);}
29893 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
29894 if (UNTAG_Bool(variable7)) { /*if*/
29895 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
29896 if (UNTAG_Bool(variable7)) { /*if*/
29897 variable4 = variable6 /*listnode4*/ /*listnode5=*/;
29898 } else { /*if*/
29899 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable6 /*listnode4*/) /*Array::append*/;
29900 }
29901 }
29902 variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable5 /*tkwsupernode3*/, variable4 /*listnode5*/); /*new ASuperExpr*/
29903 variable7 = variable8;
29904 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
29905 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
29906 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
29907 tracehead = trace.prev;
29908 return;
29909 }
29910 void parser___ReduceAction480___init(val_t self, int* init_table) {
29911 struct trace_t trace = {NULL, "parser::ReduceAction480::init (src/parser//parser.nit:15538,1--4)"};
29912 trace.prev = tracehead; tracehead = &trace;
29913 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction480].i]) return;
29914 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction480].i] = 1;
29915 tracehead = trace.prev;
29916 return;
29917 }
29918 void parser___ReduceAction481___action(val_t self, val_t param0) {
29919 struct trace_t trace = {NULL, "parser::ReduceAction481::action (src/parser//parser.nit:15542,2--15568:34)"};
29920 val_t variable0;
29921 val_t variable1;
29922 val_t variable2;
29923 val_t variable3;
29924 val_t variable4;
29925 val_t variable5;
29926 val_t variable6;
29927 val_t variable7;
29928 val_t variable8;
29929 val_t variable9;
29930 val_t variable10;
29931 trace.prev = tracehead; tracehead = &trace;
29932 variable0 = param0;
29933 variable1 = NIT_NULL /*null*/;
29934 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29935 variable2 = variable3;
29936 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29937 variable3 = variable4;
29938 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29939 variable4 = variable5;
29940 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
29941 variable5 = variable6;
29942 variable6 = variable4 /*nodearraylist1*/;
29943 variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
29944 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15550,6--42\n"); nit_exit(1);}
29945 variable7 = variable3 /*nodearraylist2*/;
29946 variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
29947 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15552,6--38\n"); nit_exit(1);}
29948 variable8 = variable2 /*nodearraylist3*/;
29949 variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
29950 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15554,6--38\n"); nit_exit(1);}
29951 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
29952 if (UNTAG_Bool(variable9)) { /*if*/
29953 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
29954 if (UNTAG_Bool(variable9)) { /*if*/
29955 variable5 = variable8 /*listnode4*/ /*listnode5=*/;
29956 } else { /*if*/
29957 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/;
29958 }
29959 }
29960 variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/, variable7 /*tkwsupernode3*/, variable5 /*listnode5*/); /*new ASuperExpr*/
29961 variable9 = variable10;
29962 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
29963 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
29964 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
29965 tracehead = trace.prev;
29966 return;
29967 }
29968 void parser___ReduceAction481___init(val_t self, int* init_table) {
29969 struct trace_t trace = {NULL, "parser::ReduceAction481::init (src/parser//parser.nit:15570,1--4)"};
29970 trace.prev = tracehead; tracehead = &trace;
29971 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction481].i]) return;
29972 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction481].i] = 1;
29973 tracehead = trace.prev;
29974 return;
29975 }
29976 void parser___ReduceAction482___action(val_t self, val_t param0) {
29977 struct trace_t trace = {NULL, "parser::ReduceAction482::action (src/parser//parser.nit:15574,2--15602:34)"};
29978 val_t variable0;
29979 val_t variable1;
29980 val_t variable2;
29981 val_t variable3;
29982 val_t variable4;
29983 val_t variable5;
29984 val_t variable6;
29985 val_t variable7;
29986 val_t variable8;
29987 val_t variable9;
29988 val_t variable10;
29989 val_t variable11;
29990 val_t variable12;
29991 trace.prev = tracehead; tracehead = &trace;
29992 variable0 = param0;
29993 variable1 = NIT_NULL /*null*/;
29994 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29995 variable2 = variable3;
29996 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29997 variable3 = variable4;
29998 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
29999 variable4 = variable5;
30000 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30001 variable5 = variable6;
30002 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30003 variable6 = variable7;
30004 variable8 = NEW_array___Array___init(); /*new Array[Object]*/
30005 variable7 = variable8;
30006 variable8 = variable6 /*nodearraylist1*/;
30007 variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30008 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15584,6--32\n"); nit_exit(1);}
30009 variable9 = variable3 /*nodearraylist4*/;
30010 variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
30011 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15586,6--36\n"); nit_exit(1);}
30012 variable10 = variable2 /*nodearraylist5*/;
30013 variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30014 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15588,6--38\n"); nit_exit(1);}
30015 variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
30016 if (UNTAG_Bool(variable11)) { /*if*/
30017 variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/;
30018 if (UNTAG_Bool(variable11)) { /*if*/
30019 variable7 = variable10 /*listnode4*/ /*listnode5=*/;
30020 } else { /*if*/
30021 ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/;
30022 }
30023 }
30024 variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/, variable9 /*tkwinitnode3*/, variable7 /*listnode5*/); /*new AInitExpr*/
30025 variable11 = variable12;
30026 variable1 = variable11 /*pexprnode1*/ /*node_list=*/;
30027 variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30028 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/;
30029 tracehead = trace.prev;
30030 return;
30031 }
30032 void parser___ReduceAction482___init(val_t self, int* init_table) {
30033 struct trace_t trace = {NULL, "parser::ReduceAction482::init (src/parser//parser.nit:15604,1--4)"};
30034 trace.prev = tracehead; tracehead = &trace;
30035 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction482].i]) return;
30036 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction482].i] = 1;
30037 tracehead = trace.prev;
30038 return;
30039 }
30040 void parser___ReduceAction483___action(val_t self, val_t param0) {
30041 struct trace_t trace = {NULL, "parser::ReduceAction483::action (src/parser//parser.nit:15608,2--15633:34)"};
30042 val_t variable0;
30043 val_t variable1;
30044 val_t variable2;
30045 val_t variable3;
30046 val_t variable4;
30047 val_t variable5;
30048 val_t variable6;
30049 val_t variable7;
30050 val_t variable8;
30051 val_t variable9;
30052 trace.prev = tracehead; tracehead = &trace;
30053 variable0 = param0;
30054 variable1 = NIT_NULL /*null*/;
30055 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30056 variable2 = variable3;
30057 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30058 variable3 = variable4;
30059 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
30060 variable4 = variable5;
30061 variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
30062 variable5 = variable6;
30063 variable6 = variable3 /*nodearraylist1*/;
30064 variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
30065 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15617,6--36\n"); nit_exit(1);}
30066 variable7 = variable2 /*nodearraylist2*/;
30067 variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30068 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15619,6--38\n"); nit_exit(1);}
30069 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
30070 if (UNTAG_Bool(variable8)) { /*if*/
30071 variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
30072 if (UNTAG_Bool(variable8)) { /*if*/
30073 variable4 = variable7 /*listnode4*/ /*listnode5=*/;
30074 } else { /*if*/
30075 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/;
30076 }
30077 }
30078 variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/, variable6 /*tkwinitnode3*/, variable4 /*listnode5*/); /*new AInitExpr*/
30079 variable8 = variable9;
30080 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
30081 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30082 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
30083 tracehead = trace.prev;
30084 return;
30085 }
30086 void parser___ReduceAction483___init(val_t self, int* init_table) {
30087 struct trace_t trace = {NULL, "parser::ReduceAction483::init (src/parser//parser.nit:15635,1--4)"};
30088 trace.prev = tracehead; tracehead = &trace;
30089 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction483].i]) return;
30090 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction483].i] = 1;
30091 tracehead = trace.prev;
30092 return;
30093 }
30094 void parser___ReduceAction484___action(val_t self, val_t param0) {
30095 struct trace_t trace = {NULL, "parser::ReduceAction484::action (src/parser//parser.nit:15639,2--15672:34)"};
30096 val_t variable0;
30097 val_t variable1;
30098 val_t variable2;
30099 val_t variable3;
30100 val_t variable4;
30101 val_t variable5;
30102 val_t variable6;
30103 val_t variable7;
30104 val_t variable8;
30105 val_t variable9;
30106 val_t variable10;
30107 val_t variable11;
30108 val_t variable12;
30109 val_t variable13;
30110 val_t variable14;
30111 val_t variable15;
30112 trace.prev = tracehead; tracehead = &trace;
30113 variable0 = param0;
30114 variable1 = NIT_NULL /*null*/;
30115 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30116 variable2 = variable3;
30117 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30118 variable3 = variable4;
30119 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30120 variable4 = variable5;
30121 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30122 variable5 = variable6;
30123 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30124 variable6 = variable7;
30125 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30126 variable7 = variable8;
30127 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30128 variable8 = variable9;
30129 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
30130 variable9 = variable10;
30131 variable10 = variable8 /*nodearraylist1*/;
30132 variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
30133 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15651,6--34\n"); nit_exit(1);}
30134 variable11 = variable6 /*nodearraylist3*/;
30135 variable12 = TAG_Bool(( variable11 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
30136 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15653,6--32\n"); nit_exit(1);}
30137 variable12 = variable3 /*nodearraylist6*/;
30138 variable13 = TAG_Bool(( variable12 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
30139 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15655,6--28\n"); nit_exit(1);}
30140 variable13 = variable2 /*nodearraylist7*/;
30141 variable14 = TAG_Bool(( variable13 /*listnode5*/==NIT_NULL) || VAL_ISA( variable13 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
30142 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15657,6--38\n"); nit_exit(1);}
30143 variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ == NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
30144 if (UNTAG_Bool(variable14)) { /*if*/
30145 variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*Array::is_empty*/;
30146 if (UNTAG_Bool(variable14)) { /*if*/
30147 variable9 = variable13 /*listnode5*/ /*listnode6=*/;
30148 } else { /*if*/
30149 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/, variable13 /*listnode5*/) /*Array::append*/;
30150 }
30151 }
30152 variable15 = NEW_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/, variable11 /*ptypenode3*/, variable12 /*tidnode4*/, variable9 /*listnode6*/); /*new ANewExpr*/
30153 variable14 = variable15;
30154 variable1 = variable14 /*pexprnode1*/ /*node_list=*/;
30155 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30156 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
30157 tracehead = trace.prev;
30158 return;
30159 }
30160 void parser___ReduceAction484___init(val_t self, int* init_table) {
30161 struct trace_t trace = {NULL, "parser::ReduceAction484::init (src/parser//parser.nit:15674,1--4)"};
30162 trace.prev = tracehead; tracehead = &trace;
30163 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction484].i]) return;
30164 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction484].i] = 1;
30165 tracehead = trace.prev;
30166 return;
30167 }
30168 void parser___ReduceAction485___action(val_t self, val_t param0) {
30169 struct trace_t trace = {NULL, "parser::ReduceAction485::action (src/parser//parser.nit:15678,2--15688:34)"};
30170 val_t variable0;
30171 val_t variable1;
30172 val_t variable2;
30173 val_t variable3;
30174 val_t variable4;
30175 val_t variable5;
30176 trace.prev = tracehead; tracehead = &trace;
30177 variable0 = param0;
30178 variable1 = NIT_NULL /*null*/;
30179 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30180 variable2 = variable3;
30181 variable3 = variable2 /*nodearraylist1*/;
30182 variable4 = TAG_Bool(( variable3 /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
30183 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15683,6--36\n"); nit_exit(1);}
30184 variable5 = NEW_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/
30185 variable4 = variable5;
30186 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
30187 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30188 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
30189 tracehead = trace.prev;
30190 return;
30191 }
30192 void parser___ReduceAction485___init(val_t self, int* init_table) {
30193 struct trace_t trace = {NULL, "parser::ReduceAction485::init (src/parser//parser.nit:15690,1--4)"};
30194 trace.prev = tracehead; tracehead = &trace;
30195 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction485].i]) return;
30196 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction485].i] = 1;
30197 tracehead = trace.prev;
30198 return;
30199 }
30200 void parser___ReduceAction486___action(val_t self, val_t param0) {
30201 struct trace_t trace = {NULL, "parser::ReduceAction486::action (src/parser//parser.nit:15694,2--15704:34)"};
30202 val_t variable0;
30203 val_t variable1;
30204 val_t variable2;
30205 val_t variable3;
30206 val_t variable4;
30207 val_t variable5;
30208 trace.prev = tracehead; tracehead = &trace;
30209 variable0 = param0;
30210 variable1 = NIT_NULL /*null*/;
30211 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30212 variable2 = variable3;
30213 variable3 = variable2 /*nodearraylist1*/;
30214 variable4 = TAG_Bool(( variable3 /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
30215 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15699,6--36\n"); nit_exit(1);}
30216 variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
30217 variable4 = variable5;
30218 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
30219 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30220 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
30221 tracehead = trace.prev;
30222 return;
30223 }
30224 void parser___ReduceAction486___init(val_t self, int* init_table) {
30225 struct trace_t trace = {NULL, "parser::ReduceAction486::init (src/parser//parser.nit:15706,1--4)"};
30226 trace.prev = tracehead; tracehead = &trace;
30227 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction486].i]) return;
30228 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction486].i] = 1;
30229 tracehead = trace.prev;
30230 return;
30231 }
30232 void parser___ReduceAction487___action(val_t self, val_t param0) {
30233 struct trace_t trace = {NULL, "parser::ReduceAction487::action (src/parser//parser.nit:15710,2--15720:34)"};
30234 val_t variable0;
30235 val_t variable1;
30236 val_t variable2;
30237 val_t variable3;
30238 val_t variable4;
30239 val_t variable5;
30240 trace.prev = tracehead; tracehead = &trace;
30241 variable0 = param0;
30242 variable1 = NIT_NULL /*null*/;
30243 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30244 variable2 = variable3;
30245 variable3 = variable2 /*nodearraylist1*/;
30246 variable4 = TAG_Bool(( variable3 /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
30247 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15715,6--38\n"); nit_exit(1);}
30248 variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
30249 variable4 = variable5;
30250 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
30251 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30252 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
30253 tracehead = trace.prev;
30254 return;
30255 }
30256 void parser___ReduceAction487___init(val_t self, int* init_table) {
30257 struct trace_t trace = {NULL, "parser::ReduceAction487::init (src/parser//parser.nit:15722,1--4)"};
30258 trace.prev = tracehead; tracehead = &trace;
30259 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction487].i]) return;
30260 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction487].i] = 1;
30261 tracehead = trace.prev;
30262 return;
30263 }
30264 void parser___ReduceAction488___action(val_t self, val_t param0) {
30265 struct trace_t trace = {NULL, "parser::ReduceAction488::action (src/parser//parser.nit:15726,2--15736:34)"};
30266 val_t variable0;
30267 val_t variable1;
30268 val_t variable2;
30269 val_t variable3;
30270 val_t variable4;
30271 val_t variable5;
30272 trace.prev = tracehead; tracehead = &trace;
30273 variable0 = param0;
30274 variable1 = NIT_NULL /*null*/;
30275 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30276 variable2 = variable3;
30277 variable3 = variable2 /*nodearraylist1*/;
30278 variable4 = TAG_Bool(( variable3 /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
30279 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15731,6--36\n"); nit_exit(1);}
30280 variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
30281 variable4 = variable5;
30282 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
30283 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30284 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
30285 tracehead = trace.prev;
30286 return;
30287 }
30288 void parser___ReduceAction488___init(val_t self, int* init_table) {
30289 struct trace_t trace = {NULL, "parser::ReduceAction488::init (src/parser//parser.nit:15738,1--4)"};
30290 trace.prev = tracehead; tracehead = &trace;
30291 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction488].i]) return;
30292 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction488].i] = 1;
30293 tracehead = trace.prev;
30294 return;
30295 }
30296 void parser___ReduceAction489___action(val_t self, val_t param0) {
30297 struct trace_t trace = {NULL, "parser::ReduceAction489::action (src/parser//parser.nit:15742,2--15752:34)"};
30298 val_t variable0;
30299 val_t variable1;
30300 val_t variable2;
30301 val_t variable3;
30302 val_t variable4;
30303 val_t variable5;
30304 trace.prev = tracehead; tracehead = &trace;
30305 variable0 = param0;
30306 variable1 = NIT_NULL /*null*/;
30307 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30308 variable2 = variable3;
30309 variable3 = variable2 /*nodearraylist1*/;
30310 variable4 = TAG_Bool(( variable3 /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
30311 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15747,6--36\n"); nit_exit(1);}
30312 variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
30313 variable4 = variable5;
30314 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
30315 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30316 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
30317 tracehead = trace.prev;
30318 return;
30319 }
30320 void parser___ReduceAction489___init(val_t self, int* init_table) {
30321 struct trace_t trace = {NULL, "parser::ReduceAction489::init (src/parser//parser.nit:15754,1--4)"};
30322 trace.prev = tracehead; tracehead = &trace;
30323 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction489].i]) return;
30324 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction489].i] = 1;
30325 tracehead = trace.prev;
30326 return;
30327 }
30328 void parser___ReduceAction490___action(val_t self, val_t param0) {
30329 struct trace_t trace = {NULL, "parser::ReduceAction490::action (src/parser//parser.nit:15758,2--15768:34)"};
30330 val_t variable0;
30331 val_t variable1;
30332 val_t variable2;
30333 val_t variable3;
30334 val_t variable4;
30335 val_t variable5;
30336 trace.prev = tracehead; tracehead = &trace;
30337 variable0 = param0;
30338 variable1 = NIT_NULL /*null*/;
30339 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30340 variable2 = variable3;
30341 variable3 = variable2 /*nodearraylist1*/;
30342 variable4 = TAG_Bool(( variable3 /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
30343 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15763,6--34\n"); nit_exit(1);}
30344 variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
30345 variable4 = variable5;
30346 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
30347 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30348 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
30349 tracehead = trace.prev;
30350 return;
30351 }
30352 void parser___ReduceAction490___init(val_t self, int* init_table) {
30353 struct trace_t trace = {NULL, "parser::ReduceAction490::init (src/parser//parser.nit:15770,1--4)"};
30354 trace.prev = tracehead; tracehead = &trace;
30355 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction490].i]) return;
30356 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction490].i] = 1;
30357 tracehead = trace.prev;
30358 return;
30359 }
30360 void parser___ReduceAction491___action(val_t self, val_t param0) {
30361 struct trace_t trace = {NULL, "parser::ReduceAction491::action (src/parser//parser.nit:15774,2--15784:34)"};
30362 val_t variable0;
30363 val_t variable1;
30364 val_t variable2;
30365 val_t variable3;
30366 val_t variable4;
30367 val_t variable5;
30368 trace.prev = tracehead; tracehead = &trace;
30369 variable0 = param0;
30370 variable1 = NIT_NULL /*null*/;
30371 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30372 variable2 = variable3;
30373 variable3 = variable2 /*nodearraylist1*/;
30374 variable4 = TAG_Bool(( variable3 /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
30375 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15779,6--32\n"); nit_exit(1);}
30376 variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
30377 variable4 = variable5;
30378 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
30379 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30380 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
30381 tracehead = trace.prev;
30382 return;
30383 }
30384 void parser___ReduceAction491___init(val_t self, int* init_table) {
30385 struct trace_t trace = {NULL, "parser::ReduceAction491::init (src/parser//parser.nit:15786,1--4)"};
30386 trace.prev = tracehead; tracehead = &trace;
30387 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction491].i]) return;
30388 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction491].i] = 1;
30389 tracehead = trace.prev;
30390 return;
30391 }
30392 void parser___ReduceAction492___action(val_t self, val_t param0) {
30393 struct trace_t trace = {NULL, "parser::ReduceAction492::action (src/parser//parser.nit:15790,2--15800:34)"};
30394 val_t variable0;
30395 val_t variable1;
30396 val_t variable2;
30397 val_t variable3;
30398 val_t variable4;
30399 val_t variable5;
30400 trace.prev = tracehead; tracehead = &trace;
30401 variable0 = param0;
30402 variable1 = NIT_NULL /*null*/;
30403 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30404 variable2 = variable3;
30405 variable3 = variable2 /*nodearraylist1*/;
30406 variable4 = TAG_Bool(( variable3 /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
30407 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15795,6--36\n"); nit_exit(1);}
30408 variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
30409 variable4 = variable5;
30410 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
30411 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30412 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
30413 tracehead = trace.prev;
30414 return;
30415 }
30416 void parser___ReduceAction492___init(val_t self, int* init_table) {
30417 struct trace_t trace = {NULL, "parser::ReduceAction492::init (src/parser//parser.nit:15802,1--4)"};
30418 trace.prev = tracehead; tracehead = &trace;
30419 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction492].i]) return;
30420 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction492].i] = 1;
30421 tracehead = trace.prev;
30422 return;
30423 }
30424 void parser___ReduceAction493___action(val_t self, val_t param0) {
30425 struct trace_t trace = {NULL, "parser::ReduceAction493::action (src/parser//parser.nit:15806,2--15813:34)"};
30426 val_t variable0;
30427 val_t variable1;
30428 val_t variable2;
30429 val_t variable3;
30430 val_t variable4;
30431 trace.prev = tracehead; tracehead = &trace;
30432 variable0 = param0;
30433 variable1 = NIT_NULL /*null*/;
30434 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30435 variable2 = variable3;
30436 variable3 = variable2 /*nodearraylist1*/;
30437 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30438 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15811,6--32\n"); nit_exit(1);}
30439 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
30440 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/;
30441 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
30442 tracehead = trace.prev;
30443 return;
30444 }
30445 void parser___ReduceAction493___init(val_t self, int* init_table) {
30446 struct trace_t trace = {NULL, "parser::ReduceAction493::init (src/parser//parser.nit:15815,1--4)"};
30447 trace.prev = tracehead; tracehead = &trace;
30448 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction493].i]) return;
30449 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction493].i] = 1;
30450 tracehead = trace.prev;
30451 return;
30452 }
30453 void parser___ReduceAction494___action(val_t self, val_t param0) {
30454 struct trace_t trace = {NULL, "parser::ReduceAction494::action (src/parser//parser.nit:15819,2--15831:34)"};
30455 val_t variable0;
30456 val_t variable1;
30457 val_t variable2;
30458 val_t variable3;
30459 val_t variable4;
30460 val_t variable5;
30461 val_t variable6;
30462 trace.prev = tracehead; tracehead = &trace;
30463 variable0 = param0;
30464 variable1 = NIT_NULL /*null*/;
30465 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30466 variable2 = variable3;
30467 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
30468 variable3 = variable4;
30469 variable4 = variable2 /*nodearraylist1*/;
30470 variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
30471 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15825,6--38\n"); nit_exit(1);}
30472 variable6 = NEW_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/, variable3 /*listnode3*/); /*new AType*/
30473 variable5 = variable6;
30474 variable1 = variable5 /*ptypenode1*/ /*node_list=*/;
30475 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(91)) /*Parser::go_to*/;
30476 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
30477 tracehead = trace.prev;
30478 return;
30479 }
30480 void parser___ReduceAction494___init(val_t self, int* init_table) {
30481 struct trace_t trace = {NULL, "parser::ReduceAction494::init (src/parser//parser.nit:15833,1--4)"};
30482 trace.prev = tracehead; tracehead = &trace;
30483 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction494].i]) return;
30484 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction494].i] = 1;
30485 tracehead = trace.prev;
30486 return;
30487 }
30488 void parser___ReduceAction495___action(val_t self, val_t param0) {
30489 struct trace_t trace = {NULL, "parser::ReduceAction495::action (src/parser//parser.nit:15837,2--15844:34)"};
30490 val_t variable0;
30491 val_t variable1;
30492 val_t variable2;
30493 val_t variable3;
30494 val_t variable4;
30495 trace.prev = tracehead; tracehead = &trace;
30496 variable0 = param0;
30497 variable1 = NIT_NULL /*null*/;
30498 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30499 variable2 = variable3;
30500 variable3 = variable2 /*nodearraylist1*/;
30501 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30502 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15842,6--32\n"); nit_exit(1);}
30503 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
30504 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(92)) /*Parser::go_to*/;
30505 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
30506 tracehead = trace.prev;
30507 return;
30508 }
30509 void parser___ReduceAction495___init(val_t self, int* init_table) {
30510 struct trace_t trace = {NULL, "parser::ReduceAction495::init (src/parser//parser.nit:15846,1--4)"};
30511 trace.prev = tracehead; tracehead = &trace;
30512 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction495].i]) return;
30513 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction495].i] = 1;
30514 tracehead = trace.prev;
30515 return;
30516 }
30517 void parser___ReduceAction496___action(val_t self, val_t param0) {
30518 struct trace_t trace = {NULL, "parser::ReduceAction496::action (src/parser//parser.nit:15850,2--15885:34)"};
30519 val_t variable0;
30520 val_t variable1;
30521 val_t variable2;
30522 val_t variable3;
30523 val_t variable4;
30524 val_t variable5;
30525 val_t variable6;
30526 val_t variable7;
30527 val_t variable8;
30528 val_t variable9;
30529 val_t variable10;
30530 val_t variable11;
30531 val_t variable12;
30532 val_t variable13;
30533 val_t variable14;
30534 val_t variable15;
30535 val_t variable16;
30536 val_t variable17;
30537 val_t variable18;
30538 val_t variable19;
30539 val_t variable20;
30540 trace.prev = tracehead; tracehead = &trace;
30541 variable0 = param0;
30542 variable1 = NIT_NULL /*null*/;
30543 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30544 variable2 = variable3;
30545 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30546 variable3 = variable4;
30547 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30548 variable4 = variable5;
30549 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30550 variable5 = variable6;
30551 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30552 variable6 = variable7;
30553 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30554 variable7 = variable8;
30555 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30556 variable8 = variable9;
30557 variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30558 variable9 = variable10;
30559 variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30560 variable10 = variable11;
30561 variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30562 variable11 = variable12;
30563 variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30564 variable12 = variable13;
30565 variable13 = variable12 /*nodearraylist1*/;
30566 variable14 = TAG_Bool(( variable13 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable13 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
30567 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15865,6--32\n"); nit_exit(1);}
30568 variable14 = variable10 /*nodearraylist3*/;
30569 variable15 = TAG_Bool(( variable14 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30570 if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15867,6--32\n"); nit_exit(1);}
30571 variable15 = variable8 /*nodearraylist5*/;
30572 variable16 = TAG_Bool(( variable15 /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
30573 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15869,6--36\n"); nit_exit(1);}
30574 variable16 = variable6 /*nodearraylist7*/;
30575 variable17 = TAG_Bool(( variable16 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30576 if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15871,6--32\n"); nit_exit(1);}
30577 variable17 = variable4 /*nodearraylist9*/;
30578 variable18 = TAG_Bool(( variable17 /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable17 /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
30579 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15873,6--36\n"); nit_exit(1);}
30580 variable18 = variable2 /*nodearraylist11*/;
30581 variable19 = TAG_Bool(( variable18 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30582 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15875,6--32\n"); nit_exit(1);}
30583 variable20 = NEW_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/, variable14 /*pexprnode3*/, variable15 /*tkwthennode4*/, variable16 /*pexprnode5*/, variable17 /*tkwelsenode6*/, variable18 /*pexprnode7*/); /*new AIfexprExpr*/
30584 variable19 = variable20;
30585 variable1 = variable19 /*pexprnode1*/ /*node_list=*/;
30586 variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(92)) /*Parser::go_to*/;
30587 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/;
30588 tracehead = trace.prev;
30589 return;
30590 }
30591 void parser___ReduceAction496___init(val_t self, int* init_table) {
30592 struct trace_t trace = {NULL, "parser::ReduceAction496::init (src/parser//parser.nit:15887,1--4)"};
30593 trace.prev = tracehead; tracehead = &trace;
30594 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction496].i]) return;
30595 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction496].i] = 1;
30596 tracehead = trace.prev;
30597 return;
30598 }
30599 void parser___ReduceAction497___action(val_t self, val_t param0) {
30600 struct trace_t trace = {NULL, "parser::ReduceAction497::action (src/parser//parser.nit:15891,2--15898:34)"};
30601 val_t variable0;
30602 val_t variable1;
30603 val_t variable2;
30604 val_t variable3;
30605 val_t variable4;
30606 trace.prev = tracehead; tracehead = &trace;
30607 variable0 = param0;
30608 variable1 = NIT_NULL /*null*/;
30609 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30610 variable2 = variable3;
30611 variable3 = variable2 /*nodearraylist1*/;
30612 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30613 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15896,6--32\n"); nit_exit(1);}
30614 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
30615 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(93)) /*Parser::go_to*/;
30616 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
30617 tracehead = trace.prev;
30618 return;
30619 }
30620 void parser___ReduceAction497___init(val_t self, int* init_table) {
30621 struct trace_t trace = {NULL, "parser::ReduceAction497::init (src/parser//parser.nit:15900,1--4)"};
30622 trace.prev = tracehead; tracehead = &trace;
30623 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction497].i]) return;
30624 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction497].i] = 1;
30625 tracehead = trace.prev;
30626 return;
30627 }
30628 void parser___ReduceAction498___action(val_t self, val_t param0) {
30629 struct trace_t trace = {NULL, "parser::ReduceAction498::action (src/parser//parser.nit:15904,2--15920:34)"};
30630 val_t variable0;
30631 val_t variable1;
30632 val_t variable2;
30633 val_t variable3;
30634 val_t variable4;
30635 val_t variable5;
30636 val_t variable6;
30637 val_t variable7;
30638 val_t variable8;
30639 val_t variable9;
30640 trace.prev = tracehead; tracehead = &trace;
30641 variable0 = param0;
30642 variable1 = NIT_NULL /*null*/;
30643 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30644 variable2 = variable3;
30645 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30646 variable3 = variable4;
30647 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30648 variable4 = variable5;
30649 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30650 variable5 = variable6;
30651 variable6 = variable5 /*nodearraylist1*/;
30652 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30653 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15912,6--32\n"); nit_exit(1);}
30654 variable7 = variable2 /*nodearraylist4*/;
30655 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30656 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15914,6--32\n"); nit_exit(1);}
30657 variable9 = NEW_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AOrExpr*/
30658 variable8 = variable9;
30659 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
30660 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(93)) /*Parser::go_to*/;
30661 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
30662 tracehead = trace.prev;
30663 return;
30664 }
30665 void parser___ReduceAction498___init(val_t self, int* init_table) {
30666 struct trace_t trace = {NULL, "parser::ReduceAction498::init (src/parser//parser.nit:15922,1--4)"};
30667 trace.prev = tracehead; tracehead = &trace;
30668 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction498].i]) return;
30669 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction498].i] = 1;
30670 tracehead = trace.prev;
30671 return;
30672 }
30673 void parser___ReduceAction499___action(val_t self, val_t param0) {
30674 struct trace_t trace = {NULL, "parser::ReduceAction499::action (src/parser//parser.nit:15926,2--15942:34)"};
30675 val_t variable0;
30676 val_t variable1;
30677 val_t variable2;
30678 val_t variable3;
30679 val_t variable4;
30680 val_t variable5;
30681 val_t variable6;
30682 val_t variable7;
30683 val_t variable8;
30684 val_t variable9;
30685 trace.prev = tracehead; tracehead = &trace;
30686 variable0 = param0;
30687 variable1 = NIT_NULL /*null*/;
30688 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30689 variable2 = variable3;
30690 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30691 variable3 = variable4;
30692 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30693 variable4 = variable5;
30694 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30695 variable5 = variable6;
30696 variable6 = variable5 /*nodearraylist1*/;
30697 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30698 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15934,6--32\n"); nit_exit(1);}
30699 variable7 = variable2 /*nodearraylist4*/;
30700 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30701 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15936,6--32\n"); nit_exit(1);}
30702 variable9 = NEW_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AAndExpr*/
30703 variable8 = variable9;
30704 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
30705 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(93)) /*Parser::go_to*/;
30706 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
30707 tracehead = trace.prev;
30708 return;
30709 }
30710 void parser___ReduceAction499___init(val_t self, int* init_table) {
30711 struct trace_t trace = {NULL, "parser::ReduceAction499::init (src/parser//parser.nit:15944,1--4)"};
30712 trace.prev = tracehead; tracehead = &trace;
30713 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction499].i]) return;
30714 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction499].i] = 1;
30715 tracehead = trace.prev;
30716 return;
30717 }
30718 void parser___ReduceAction500___action(val_t self, val_t param0) {
30719 struct trace_t trace = {NULL, "parser::ReduceAction500::action (src/parser//parser.nit:15948,2--15955:34)"};
30720 val_t variable0;
30721 val_t variable1;
30722 val_t variable2;
30723 val_t variable3;
30724 val_t variable4;
30725 trace.prev = tracehead; tracehead = &trace;
30726 variable0 = param0;
30727 variable1 = NIT_NULL /*null*/;
30728 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30729 variable2 = variable3;
30730 variable3 = variable2 /*nodearraylist1*/;
30731 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30732 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15953,6--32\n"); nit_exit(1);}
30733 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
30734 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(94)) /*Parser::go_to*/;
30735 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
30736 tracehead = trace.prev;
30737 return;
30738 }
30739 void parser___ReduceAction500___init(val_t self, int* init_table) {
30740 struct trace_t trace = {NULL, "parser::ReduceAction500::init (src/parser//parser.nit:15957,1--4)"};
30741 trace.prev = tracehead; tracehead = &trace;
30742 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction500].i]) return;
30743 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction500].i] = 1;
30744 tracehead = trace.prev;
30745 return;
30746 }
30747 void parser___ReduceAction501___action(val_t self, val_t param0) {
30748 struct trace_t trace = {NULL, "parser::ReduceAction501::action (src/parser//parser.nit:15961,2--15976:34)"};
30749 val_t variable0;
30750 val_t variable1;
30751 val_t variable2;
30752 val_t variable3;
30753 val_t variable4;
30754 val_t variable5;
30755 val_t variable6;
30756 val_t variable7;
30757 val_t variable8;
30758 trace.prev = tracehead; tracehead = &trace;
30759 variable0 = param0;
30760 variable1 = NIT_NULL /*null*/;
30761 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30762 variable2 = variable3;
30763 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30764 variable3 = variable4;
30765 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30766 variable4 = variable5;
30767 variable5 = variable4 /*nodearraylist1*/;
30768 variable6 = TAG_Bool(( variable5 /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
30769 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15968,6--34\n"); nit_exit(1);}
30770 variable6 = variable2 /*nodearraylist3*/;
30771 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30772 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15970,6--32\n"); nit_exit(1);}
30773 variable8 = NEW_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/, variable6 /*pexprnode3*/); /*new ANotExpr*/
30774 variable7 = variable8;
30775 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
30776 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(94)) /*Parser::go_to*/;
30777 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
30778 tracehead = trace.prev;
30779 return;
30780 }
30781 void parser___ReduceAction501___init(val_t self, int* init_table) {
30782 struct trace_t trace = {NULL, "parser::ReduceAction501::init (src/parser//parser.nit:15978,1--4)"};
30783 trace.prev = tracehead; tracehead = &trace;
30784 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction501].i]) return;
30785 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction501].i] = 1;
30786 tracehead = trace.prev;
30787 return;
30788 }
30789 void parser___ReduceAction502___action(val_t self, val_t param0) {
30790 struct trace_t trace = {NULL, "parser::ReduceAction502::action (src/parser//parser.nit:15982,2--15989:34)"};
30791 val_t variable0;
30792 val_t variable1;
30793 val_t variable2;
30794 val_t variable3;
30795 val_t variable4;
30796 trace.prev = tracehead; tracehead = &trace;
30797 variable0 = param0;
30798 variable1 = NIT_NULL /*null*/;
30799 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30800 variable2 = variable3;
30801 variable3 = variable2 /*nodearraylist1*/;
30802 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30803 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15987,6--32\n"); nit_exit(1);}
30804 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
30805 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/;
30806 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
30807 tracehead = trace.prev;
30808 return;
30809 }
30810 void parser___ReduceAction502___init(val_t self, int* init_table) {
30811 struct trace_t trace = {NULL, "parser::ReduceAction502::init (src/parser//parser.nit:15991,1--4)"};
30812 trace.prev = tracehead; tracehead = &trace;
30813 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction502].i]) return;
30814 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction502].i] = 1;
30815 tracehead = trace.prev;
30816 return;
30817 }
30818 void parser___ReduceAction503___action(val_t self, val_t param0) {
30819 struct trace_t trace = {NULL, "parser::ReduceAction503::action (src/parser//parser.nit:15995,2--16011:34)"};
30820 val_t variable0;
30821 val_t variable1;
30822 val_t variable2;
30823 val_t variable3;
30824 val_t variable4;
30825 val_t variable5;
30826 val_t variable6;
30827 val_t variable7;
30828 val_t variable8;
30829 val_t variable9;
30830 trace.prev = tracehead; tracehead = &trace;
30831 variable0 = param0;
30832 variable1 = NIT_NULL /*null*/;
30833 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30834 variable2 = variable3;
30835 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30836 variable3 = variable4;
30837 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30838 variable4 = variable5;
30839 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30840 variable5 = variable6;
30841 variable6 = variable5 /*nodearraylist1*/;
30842 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30843 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16003,6--32\n"); nit_exit(1);}
30844 variable7 = variable2 /*nodearraylist4*/;
30845 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30846 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16005,6--32\n"); nit_exit(1);}
30847 variable9 = NEW_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEqExpr*/
30848 variable8 = variable9;
30849 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
30850 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/;
30851 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
30852 tracehead = trace.prev;
30853 return;
30854 }
30855 void parser___ReduceAction503___init(val_t self, int* init_table) {
30856 struct trace_t trace = {NULL, "parser::ReduceAction503::init (src/parser//parser.nit:16013,1--4)"};
30857 trace.prev = tracehead; tracehead = &trace;
30858 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction503].i]) return;
30859 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction503].i] = 1;
30860 tracehead = trace.prev;
30861 return;
30862 }
30863 void parser___ReduceAction504___action(val_t self, val_t param0) {
30864 struct trace_t trace = {NULL, "parser::ReduceAction504::action (src/parser//parser.nit:16017,2--16033:34)"};
30865 val_t variable0;
30866 val_t variable1;
30867 val_t variable2;
30868 val_t variable3;
30869 val_t variable4;
30870 val_t variable5;
30871 val_t variable6;
30872 val_t variable7;
30873 val_t variable8;
30874 val_t variable9;
30875 trace.prev = tracehead; tracehead = &trace;
30876 variable0 = param0;
30877 variable1 = NIT_NULL /*null*/;
30878 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30879 variable2 = variable3;
30880 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30881 variable3 = variable4;
30882 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30883 variable4 = variable5;
30884 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30885 variable5 = variable6;
30886 variable6 = variable5 /*nodearraylist1*/;
30887 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30888 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16025,6--32\n"); nit_exit(1);}
30889 variable7 = variable2 /*nodearraylist4*/;
30890 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30891 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16027,6--32\n"); nit_exit(1);}
30892 variable9 = NEW_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEeExpr*/
30893 variable8 = variable9;
30894 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
30895 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/;
30896 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
30897 tracehead = trace.prev;
30898 return;
30899 }
30900 void parser___ReduceAction504___init(val_t self, int* init_table) {
30901 struct trace_t trace = {NULL, "parser::ReduceAction504::init (src/parser//parser.nit:16035,1--4)"};
30902 trace.prev = tracehead; tracehead = &trace;
30903 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction504].i]) return;
30904 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction504].i] = 1;
30905 tracehead = trace.prev;
30906 return;
30907 }
30908 void parser___ReduceAction505___action(val_t self, val_t param0) {
30909 struct trace_t trace = {NULL, "parser::ReduceAction505::action (src/parser//parser.nit:16039,2--16055:34)"};
30910 val_t variable0;
30911 val_t variable1;
30912 val_t variable2;
30913 val_t variable3;
30914 val_t variable4;
30915 val_t variable5;
30916 val_t variable6;
30917 val_t variable7;
30918 val_t variable8;
30919 val_t variable9;
30920 trace.prev = tracehead; tracehead = &trace;
30921 variable0 = param0;
30922 variable1 = NIT_NULL /*null*/;
30923 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30924 variable2 = variable3;
30925 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30926 variable3 = variable4;
30927 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30928 variable4 = variable5;
30929 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30930 variable5 = variable6;
30931 variable6 = variable5 /*nodearraylist1*/;
30932 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30933 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16047,6--32\n"); nit_exit(1);}
30934 variable7 = variable2 /*nodearraylist4*/;
30935 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30936 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16049,6--32\n"); nit_exit(1);}
30937 variable9 = NEW_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ANeExpr*/
30938 variable8 = variable9;
30939 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
30940 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/;
30941 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
30942 tracehead = trace.prev;
30943 return;
30944 }
30945 void parser___ReduceAction505___init(val_t self, int* init_table) {
30946 struct trace_t trace = {NULL, "parser::ReduceAction505::init (src/parser//parser.nit:16057,1--4)"};
30947 trace.prev = tracehead; tracehead = &trace;
30948 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction505].i]) return;
30949 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction505].i] = 1;
30950 tracehead = trace.prev;
30951 return;
30952 }
30953 void parser___ReduceAction506___action(val_t self, val_t param0) {
30954 struct trace_t trace = {NULL, "parser::ReduceAction506::action (src/parser//parser.nit:16061,2--16077:34)"};
30955 val_t variable0;
30956 val_t variable1;
30957 val_t variable2;
30958 val_t variable3;
30959 val_t variable4;
30960 val_t variable5;
30961 val_t variable6;
30962 val_t variable7;
30963 val_t variable8;
30964 val_t variable9;
30965 trace.prev = tracehead; tracehead = &trace;
30966 variable0 = param0;
30967 variable1 = NIT_NULL /*null*/;
30968 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30969 variable2 = variable3;
30970 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30971 variable3 = variable4;
30972 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30973 variable4 = variable5;
30974 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
30975 variable5 = variable6;
30976 variable6 = variable5 /*nodearraylist1*/;
30977 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30978 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16069,6--32\n"); nit_exit(1);}
30979 variable7 = variable2 /*nodearraylist4*/;
30980 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30981 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16071,6--32\n"); nit_exit(1);}
30982 variable9 = NEW_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALtExpr*/
30983 variable8 = variable9;
30984 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
30985 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/;
30986 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
30987 tracehead = trace.prev;
30988 return;
30989 }
30990 void parser___ReduceAction506___init(val_t self, int* init_table) {
30991 struct trace_t trace = {NULL, "parser::ReduceAction506::init (src/parser//parser.nit:16079,1--4)"};
30992 trace.prev = tracehead; tracehead = &trace;
30993 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction506].i]) return;
30994 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction506].i] = 1;
30995 tracehead = trace.prev;
30996 return;
30997 }
30998 void parser___ReduceAction507___action(val_t self, val_t param0) {
30999 struct trace_t trace = {NULL, "parser::ReduceAction507::action (src/parser//parser.nit:16083,2--16099:34)"};
31000 val_t variable0;
31001 val_t variable1;
31002 val_t variable2;
31003 val_t variable3;
31004 val_t variable4;
31005 val_t variable5;
31006 val_t variable6;
31007 val_t variable7;
31008 val_t variable8;
31009 val_t variable9;
31010 trace.prev = tracehead; tracehead = &trace;
31011 variable0 = param0;
31012 variable1 = NIT_NULL /*null*/;
31013 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31014 variable2 = variable3;
31015 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31016 variable3 = variable4;
31017 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31018 variable4 = variable5;
31019 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31020 variable5 = variable6;
31021 variable6 = variable5 /*nodearraylist1*/;
31022 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31023 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16091,6--32\n"); nit_exit(1);}
31024 variable7 = variable2 /*nodearraylist4*/;
31025 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31026 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16093,6--32\n"); nit_exit(1);}
31027 variable9 = NEW_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALeExpr*/
31028 variable8 = variable9;
31029 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
31030 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/;
31031 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
31032 tracehead = trace.prev;
31033 return;
31034 }
31035 void parser___ReduceAction507___init(val_t self, int* init_table) {
31036 struct trace_t trace = {NULL, "parser::ReduceAction507::init (src/parser//parser.nit:16101,1--4)"};
31037 trace.prev = tracehead; tracehead = &trace;
31038 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction507].i]) return;
31039 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction507].i] = 1;
31040 tracehead = trace.prev;
31041 return;
31042 }
31043 void parser___ReduceAction508___action(val_t self, val_t param0) {
31044 struct trace_t trace = {NULL, "parser::ReduceAction508::action (src/parser//parser.nit:16105,2--16121:34)"};
31045 val_t variable0;
31046 val_t variable1;
31047 val_t variable2;
31048 val_t variable3;
31049 val_t variable4;
31050 val_t variable5;
31051 val_t variable6;
31052 val_t variable7;
31053 val_t variable8;
31054 val_t variable9;
31055 trace.prev = tracehead; tracehead = &trace;
31056 variable0 = param0;
31057 variable1 = NIT_NULL /*null*/;
31058 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31059 variable2 = variable3;
31060 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31061 variable3 = variable4;
31062 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31063 variable4 = variable5;
31064 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31065 variable5 = variable6;
31066 variable6 = variable5 /*nodearraylist1*/;
31067 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31068 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16113,6--32\n"); nit_exit(1);}
31069 variable7 = variable2 /*nodearraylist4*/;
31070 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31071 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16115,6--32\n"); nit_exit(1);}
31072 variable9 = NEW_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGtExpr*/
31073 variable8 = variable9;
31074 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
31075 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/;
31076 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
31077 tracehead = trace.prev;
31078 return;
31079 }
31080 void parser___ReduceAction508___init(val_t self, int* init_table) {
31081 struct trace_t trace = {NULL, "parser::ReduceAction508::init (src/parser//parser.nit:16123,1--4)"};
31082 trace.prev = tracehead; tracehead = &trace;
31083 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction508].i]) return;
31084 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction508].i] = 1;
31085 tracehead = trace.prev;
31086 return;
31087 }
31088 void parser___ReduceAction509___action(val_t self, val_t param0) {
31089 struct trace_t trace = {NULL, "parser::ReduceAction509::action (src/parser//parser.nit:16127,2--16143:34)"};
31090 val_t variable0;
31091 val_t variable1;
31092 val_t variable2;
31093 val_t variable3;
31094 val_t variable4;
31095 val_t variable5;
31096 val_t variable6;
31097 val_t variable7;
31098 val_t variable8;
31099 val_t variable9;
31100 trace.prev = tracehead; tracehead = &trace;
31101 variable0 = param0;
31102 variable1 = NIT_NULL /*null*/;
31103 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31104 variable2 = variable3;
31105 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31106 variable3 = variable4;
31107 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31108 variable4 = variable5;
31109 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31110 variable5 = variable6;
31111 variable6 = variable5 /*nodearraylist1*/;
31112 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31113 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16135,6--32\n"); nit_exit(1);}
31114 variable7 = variable2 /*nodearraylist4*/;
31115 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31116 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16137,6--32\n"); nit_exit(1);}
31117 variable9 = NEW_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGeExpr*/
31118 variable8 = variable9;
31119 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
31120 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/;
31121 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
31122 tracehead = trace.prev;
31123 return;
31124 }
31125 void parser___ReduceAction509___init(val_t self, int* init_table) {
31126 struct trace_t trace = {NULL, "parser::ReduceAction509::init (src/parser//parser.nit:16145,1--4)"};
31127 trace.prev = tracehead; tracehead = &trace;
31128 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction509].i]) return;
31129 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction509].i] = 1;
31130 tracehead = trace.prev;
31131 return;
31132 }
31133 void parser___ReduceAction510___action(val_t self, val_t param0) {
31134 struct trace_t trace = {NULL, "parser::ReduceAction510::action (src/parser//parser.nit:16149,2--16165:34)"};
31135 val_t variable0;
31136 val_t variable1;
31137 val_t variable2;
31138 val_t variable3;
31139 val_t variable4;
31140 val_t variable5;
31141 val_t variable6;
31142 val_t variable7;
31143 val_t variable8;
31144 val_t variable9;
31145 trace.prev = tracehead; tracehead = &trace;
31146 variable0 = param0;
31147 variable1 = NIT_NULL /*null*/;
31148 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31149 variable2 = variable3;
31150 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31151 variable3 = variable4;
31152 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31153 variable4 = variable5;
31154 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31155 variable5 = variable6;
31156 variable6 = variable5 /*nodearraylist1*/;
31157 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31158 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16157,6--32\n"); nit_exit(1);}
31159 variable7 = variable2 /*nodearraylist4*/;
31160 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31161 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16159,6--32\n"); nit_exit(1);}
31162 variable9 = NEW_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarshipExpr*/
31163 variable8 = variable9;
31164 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
31165 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/;
31166 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
31167 tracehead = trace.prev;
31168 return;
31169 }
31170 void parser___ReduceAction510___init(val_t self, int* init_table) {
31171 struct trace_t trace = {NULL, "parser::ReduceAction510::init (src/parser//parser.nit:16167,1--4)"};
31172 trace.prev = tracehead; tracehead = &trace;
31173 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction510].i]) return;
31174 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction510].i] = 1;
31175 tracehead = trace.prev;
31176 return;
31177 }
31178 void parser___ReduceAction511___action(val_t self, val_t param0) {
31179 struct trace_t trace = {NULL, "parser::ReduceAction511::action (src/parser//parser.nit:16171,2--16187:34)"};
31180 val_t variable0;
31181 val_t variable1;
31182 val_t variable2;
31183 val_t variable3;
31184 val_t variable4;
31185 val_t variable5;
31186 val_t variable6;
31187 val_t variable7;
31188 val_t variable8;
31189 val_t variable9;
31190 trace.prev = tracehead; tracehead = &trace;
31191 variable0 = param0;
31192 variable1 = NIT_NULL /*null*/;
31193 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31194 variable2 = variable3;
31195 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31196 variable3 = variable4;
31197 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31198 variable4 = variable5;
31199 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31200 variable5 = variable6;
31201 variable6 = variable5 /*nodearraylist1*/;
31202 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31203 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16179,6--32\n"); nit_exit(1);}
31204 variable7 = variable2 /*nodearraylist4*/;
31205 variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
31206 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16181,6--32\n"); nit_exit(1);}
31207 variable9 = NEW_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/, variable7 /*ptypenode3*/); /*new AIsaExpr*/
31208 variable8 = variable9;
31209 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
31210 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/;
31211 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
31212 tracehead = trace.prev;
31213 return;
31214 }
31215 void parser___ReduceAction511___init(val_t self, int* init_table) {
31216 struct trace_t trace = {NULL, "parser::ReduceAction511::init (src/parser//parser.nit:16189,1--4)"};
31217 trace.prev = tracehead; tracehead = &trace;
31218 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction511].i]) return;
31219 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction511].i] = 1;
31220 tracehead = trace.prev;
31221 return;
31222 }
31223 void parser___ReduceAction512___action(val_t self, val_t param0) {
31224 struct trace_t trace = {NULL, "parser::ReduceAction512::action (src/parser//parser.nit:16193,2--16200:34)"};
31225 val_t variable0;
31226 val_t variable1;
31227 val_t variable2;
31228 val_t variable3;
31229 val_t variable4;
31230 trace.prev = tracehead; tracehead = &trace;
31231 variable0 = param0;
31232 variable1 = NIT_NULL /*null*/;
31233 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31234 variable2 = variable3;
31235 variable3 = variable2 /*nodearraylist1*/;
31236 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31237 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16198,6--32\n"); nit_exit(1);}
31238 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
31239 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(96)) /*Parser::go_to*/;
31240 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
31241 tracehead = trace.prev;
31242 return;
31243 }
31244 void parser___ReduceAction512___init(val_t self, int* init_table) {
31245 struct trace_t trace = {NULL, "parser::ReduceAction512::init (src/parser//parser.nit:16202,1--4)"};
31246 trace.prev = tracehead; tracehead = &trace;
31247 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction512].i]) return;
31248 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction512].i] = 1;
31249 tracehead = trace.prev;
31250 return;
31251 }
31252 void parser___ReduceAction513___action(val_t self, val_t param0) {
31253 struct trace_t trace = {NULL, "parser::ReduceAction513::action (src/parser//parser.nit:16206,2--16222:34)"};
31254 val_t variable0;
31255 val_t variable1;
31256 val_t variable2;
31257 val_t variable3;
31258 val_t variable4;
31259 val_t variable5;
31260 val_t variable6;
31261 val_t variable7;
31262 val_t variable8;
31263 val_t variable9;
31264 trace.prev = tracehead; tracehead = &trace;
31265 variable0 = param0;
31266 variable1 = NIT_NULL /*null*/;
31267 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31268 variable2 = variable3;
31269 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31270 variable3 = variable4;
31271 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31272 variable4 = variable5;
31273 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31274 variable5 = variable6;
31275 variable6 = variable5 /*nodearraylist1*/;
31276 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31277 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16214,6--32\n"); nit_exit(1);}
31278 variable7 = variable2 /*nodearraylist4*/;
31279 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31280 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16216,6--32\n"); nit_exit(1);}
31281 variable9 = NEW_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APlusExpr*/
31282 variable8 = variable9;
31283 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
31284 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(96)) /*Parser::go_to*/;
31285 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
31286 tracehead = trace.prev;
31287 return;
31288 }
31289 void parser___ReduceAction513___init(val_t self, int* init_table) {
31290 struct trace_t trace = {NULL, "parser::ReduceAction513::init (src/parser//parser.nit:16224,1--4)"};
31291 trace.prev = tracehead; tracehead = &trace;
31292 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction513].i]) return;
31293 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction513].i] = 1;
31294 tracehead = trace.prev;
31295 return;
31296 }
31297 void parser___ReduceAction514___action(val_t self, val_t param0) {
31298 struct trace_t trace = {NULL, "parser::ReduceAction514::action (src/parser//parser.nit:16228,2--16244:34)"};
31299 val_t variable0;
31300 val_t variable1;
31301 val_t variable2;
31302 val_t variable3;
31303 val_t variable4;
31304 val_t variable5;
31305 val_t variable6;
31306 val_t variable7;
31307 val_t variable8;
31308 val_t variable9;
31309 trace.prev = tracehead; tracehead = &trace;
31310 variable0 = param0;
31311 variable1 = NIT_NULL /*null*/;
31312 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31313 variable2 = variable3;
31314 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31315 variable3 = variable4;
31316 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31317 variable4 = variable5;
31318 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31319 variable5 = variable6;
31320 variable6 = variable5 /*nodearraylist1*/;
31321 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31322 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16236,6--32\n"); nit_exit(1);}
31323 variable7 = variable2 /*nodearraylist4*/;
31324 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31325 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16238,6--32\n"); nit_exit(1);}
31326 variable9 = NEW_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AMinusExpr*/
31327 variable8 = variable9;
31328 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
31329 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(96)) /*Parser::go_to*/;
31330 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
31331 tracehead = trace.prev;
31332 return;
31333 }
31334 void parser___ReduceAction514___init(val_t self, int* init_table) {
31335 struct trace_t trace = {NULL, "parser::ReduceAction514::init (src/parser//parser.nit:16246,1--4)"};
31336 trace.prev = tracehead; tracehead = &trace;
31337 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction514].i]) return;
31338 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction514].i] = 1;
31339 tracehead = trace.prev;
31340 return;
31341 }
31342 void parser___ReduceAction515___action(val_t self, val_t param0) {
31343 struct trace_t trace = {NULL, "parser::ReduceAction515::action (src/parser//parser.nit:16250,2--16257:34)"};
31344 val_t variable0;
31345 val_t variable1;
31346 val_t variable2;
31347 val_t variable3;
31348 val_t variable4;
31349 trace.prev = tracehead; tracehead = &trace;
31350 variable0 = param0;
31351 variable1 = NIT_NULL /*null*/;
31352 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31353 variable2 = variable3;
31354 variable3 = variable2 /*nodearraylist1*/;
31355 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31356 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16255,6--32\n"); nit_exit(1);}
31357 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
31358 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(97)) /*Parser::go_to*/;
31359 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
31360 tracehead = trace.prev;
31361 return;
31362 }
31363 void parser___ReduceAction515___init(val_t self, int* init_table) {
31364 struct trace_t trace = {NULL, "parser::ReduceAction515::init (src/parser//parser.nit:16259,1--4)"};
31365 trace.prev = tracehead; tracehead = &trace;
31366 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction515].i]) return;
31367 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction515].i] = 1;
31368 tracehead = trace.prev;
31369 return;
31370 }
31371 void parser___ReduceAction516___action(val_t self, val_t param0) {
31372 struct trace_t trace = {NULL, "parser::ReduceAction516::action (src/parser//parser.nit:16263,2--16279:34)"};
31373 val_t variable0;
31374 val_t variable1;
31375 val_t variable2;
31376 val_t variable3;
31377 val_t variable4;
31378 val_t variable5;
31379 val_t variable6;
31380 val_t variable7;
31381 val_t variable8;
31382 val_t variable9;
31383 trace.prev = tracehead; tracehead = &trace;
31384 variable0 = param0;
31385 variable1 = NIT_NULL /*null*/;
31386 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31387 variable2 = variable3;
31388 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31389 variable3 = variable4;
31390 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31391 variable4 = variable5;
31392 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31393 variable5 = variable6;
31394 variable6 = variable5 /*nodearraylist1*/;
31395 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31396 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16271,6--32\n"); nit_exit(1);}
31397 variable7 = variable2 /*nodearraylist4*/;
31398 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31399 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16273,6--32\n"); nit_exit(1);}
31400 variable9 = NEW_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarExpr*/
31401 variable8 = variable9;
31402 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
31403 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(97)) /*Parser::go_to*/;
31404 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
31405 tracehead = trace.prev;
31406 return;
31407 }
31408 void parser___ReduceAction516___init(val_t self, int* init_table) {
31409 struct trace_t trace = {NULL, "parser::ReduceAction516::init (src/parser//parser.nit:16281,1--4)"};
31410 trace.prev = tracehead; tracehead = &trace;
31411 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction516].i]) return;
31412 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction516].i] = 1;
31413 tracehead = trace.prev;
31414 return;
31415 }
31416 void parser___ReduceAction517___action(val_t self, val_t param0) {
31417 struct trace_t trace = {NULL, "parser::ReduceAction517::action (src/parser//parser.nit:16285,2--16301:34)"};
31418 val_t variable0;
31419 val_t variable1;
31420 val_t variable2;
31421 val_t variable3;
31422 val_t variable4;
31423 val_t variable5;
31424 val_t variable6;
31425 val_t variable7;
31426 val_t variable8;
31427 val_t variable9;
31428 trace.prev = tracehead; tracehead = &trace;
31429 variable0 = param0;
31430 variable1 = NIT_NULL /*null*/;
31431 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31432 variable2 = variable3;
31433 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31434 variable3 = variable4;
31435 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31436 variable4 = variable5;
31437 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31438 variable5 = variable6;
31439 variable6 = variable5 /*nodearraylist1*/;
31440 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31441 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16293,6--32\n"); nit_exit(1);}
31442 variable7 = variable2 /*nodearraylist4*/;
31443 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31444 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16295,6--32\n"); nit_exit(1);}
31445 variable9 = NEW_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ASlashExpr*/
31446 variable8 = variable9;
31447 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
31448 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(97)) /*Parser::go_to*/;
31449 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
31450 tracehead = trace.prev;
31451 return;
31452 }
31453 void parser___ReduceAction517___init(val_t self, int* init_table) {
31454 struct trace_t trace = {NULL, "parser::ReduceAction517::init (src/parser//parser.nit:16303,1--4)"};
31455 trace.prev = tracehead; tracehead = &trace;
31456 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction517].i]) return;
31457 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction517].i] = 1;
31458 tracehead = trace.prev;
31459 return;
31460 }
31461 void parser___ReduceAction518___action(val_t self, val_t param0) {
31462 struct trace_t trace = {NULL, "parser::ReduceAction518::action (src/parser//parser.nit:16307,2--16323:34)"};
31463 val_t variable0;
31464 val_t variable1;
31465 val_t variable2;
31466 val_t variable3;
31467 val_t variable4;
31468 val_t variable5;
31469 val_t variable6;
31470 val_t variable7;
31471 val_t variable8;
31472 val_t variable9;
31473 trace.prev = tracehead; tracehead = &trace;
31474 variable0 = param0;
31475 variable1 = NIT_NULL /*null*/;
31476 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31477 variable2 = variable3;
31478 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31479 variable3 = variable4;
31480 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31481 variable4 = variable5;
31482 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31483 variable5 = variable6;
31484 variable6 = variable5 /*nodearraylist1*/;
31485 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31486 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16315,6--32\n"); nit_exit(1);}
31487 variable7 = variable2 /*nodearraylist4*/;
31488 variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31489 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16317,6--32\n"); nit_exit(1);}
31490 variable9 = NEW_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APercentExpr*/
31491 variable8 = variable9;
31492 variable1 = variable8 /*pexprnode1*/ /*node_list=*/;
31493 variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(97)) /*Parser::go_to*/;
31494 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/;
31495 tracehead = trace.prev;
31496 return;
31497 }
31498 void parser___ReduceAction518___init(val_t self, int* init_table) {
31499 struct trace_t trace = {NULL, "parser::ReduceAction518::init (src/parser//parser.nit:16325,1--4)"};
31500 trace.prev = tracehead; tracehead = &trace;
31501 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction518].i]) return;
31502 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction518].i] = 1;
31503 tracehead = trace.prev;
31504 return;
31505 }
31506 void parser___ReduceAction519___action(val_t self, val_t param0) {
31507 struct trace_t trace = {NULL, "parser::ReduceAction519::action (src/parser//parser.nit:16329,2--16336:34)"};
31508 val_t variable0;
31509 val_t variable1;
31510 val_t variable2;
31511 val_t variable3;
31512 val_t variable4;
31513 trace.prev = tracehead; tracehead = &trace;
31514 variable0 = param0;
31515 variable1 = NIT_NULL /*null*/;
31516 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31517 variable2 = variable3;
31518 variable3 = variable2 /*nodearraylist1*/;
31519 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31520 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16334,6--32\n"); nit_exit(1);}
31521 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
31522 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(98)) /*Parser::go_to*/;
31523 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
31524 tracehead = trace.prev;
31525 return;
31526 }
31527 void parser___ReduceAction519___init(val_t self, int* init_table) {
31528 struct trace_t trace = {NULL, "parser::ReduceAction519::init (src/parser//parser.nit:16338,1--4)"};
31529 trace.prev = tracehead; tracehead = &trace;
31530 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction519].i]) return;
31531 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction519].i] = 1;
31532 tracehead = trace.prev;
31533 return;
31534 }
31535 void parser___ReduceAction520___action(val_t self, val_t param0) {
31536 struct trace_t trace = {NULL, "parser::ReduceAction520::action (src/parser//parser.nit:16342,2--16357:34)"};
31537 val_t variable0;
31538 val_t variable1;
31539 val_t variable2;
31540 val_t variable3;
31541 val_t variable4;
31542 val_t variable5;
31543 val_t variable6;
31544 val_t variable7;
31545 val_t variable8;
31546 trace.prev = tracehead; tracehead = &trace;
31547 variable0 = param0;
31548 variable1 = NIT_NULL /*null*/;
31549 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31550 variable2 = variable3;
31551 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31552 variable3 = variable4;
31553 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31554 variable4 = variable5;
31555 variable5 = variable4 /*nodearraylist1*/;
31556 variable6 = TAG_Bool(( variable5 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
31557 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16349,6--34\n"); nit_exit(1);}
31558 variable6 = variable2 /*nodearraylist3*/;
31559 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31560 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16351,6--32\n"); nit_exit(1);}
31561 variable8 = NEW_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/, variable6 /*pexprnode3*/); /*new AUminusExpr*/
31562 variable7 = variable8;
31563 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
31564 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(98)) /*Parser::go_to*/;
31565 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
31566 tracehead = trace.prev;
31567 return;
31568 }
31569 void parser___ReduceAction520___init(val_t self, int* init_table) {
31570 struct trace_t trace = {NULL, "parser::ReduceAction520::init (src/parser//parser.nit:16359,1--4)"};
31571 trace.prev = tracehead; tracehead = &trace;
31572 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction520].i]) return;
31573 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction520].i] = 1;
31574 tracehead = trace.prev;
31575 return;
31576 }
31577 void parser___ReduceAction521___action(val_t self, val_t param0) {
31578 struct trace_t trace = {NULL, "parser::ReduceAction521::action (src/parser//parser.nit:16363,2--16378:34)"};
31579 val_t variable0;
31580 val_t variable1;
31581 val_t variable2;
31582 val_t variable3;
31583 val_t variable4;
31584 val_t variable5;
31585 val_t variable6;
31586 val_t variable7;
31587 val_t variable8;
31588 trace.prev = tracehead; tracehead = &trace;
31589 variable0 = param0;
31590 variable1 = NIT_NULL /*null*/;
31591 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31592 variable2 = variable3;
31593 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31594 variable3 = variable4;
31595 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31596 variable4 = variable5;
31597 variable5 = variable4 /*nodearraylist1*/;
31598 variable6 = TAG_Bool(( variable5 /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
31599 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16370,6--36\n"); nit_exit(1);}
31600 variable6 = variable2 /*nodearraylist3*/;
31601 variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31602 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16372,6--32\n"); nit_exit(1);}
31603 variable8 = NEW_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/, variable6 /*pexprnode3*/); /*new AOnceExpr*/
31604 variable7 = variable8;
31605 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
31606 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(98)) /*Parser::go_to*/;
31607 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
31608 tracehead = trace.prev;
31609 return;
31610 }
31611 void parser___ReduceAction521___init(val_t self, int* init_table) {
31612 struct trace_t trace = {NULL, "parser::ReduceAction521::init (src/parser//parser.nit:16380,1--4)"};
31613 trace.prev = tracehead; tracehead = &trace;
31614 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction521].i]) return;
31615 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction521].i] = 1;
31616 tracehead = trace.prev;
31617 return;
31618 }
31619 void parser___ReduceAction522___action(val_t self, val_t param0) {
31620 struct trace_t trace = {NULL, "parser::ReduceAction522::action (src/parser//parser.nit:16384,2--16391:34)"};
31621 val_t variable0;
31622 val_t variable1;
31623 val_t variable2;
31624 val_t variable3;
31625 val_t variable4;
31626 trace.prev = tracehead; tracehead = &trace;
31627 variable0 = param0;
31628 variable1 = NIT_NULL /*null*/;
31629 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31630 variable2 = variable3;
31631 variable3 = variable2 /*nodearraylist1*/;
31632 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31633 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16389,6--32\n"); nit_exit(1);}
31634 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
31635 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(99)) /*Parser::go_to*/;
31636 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
31637 tracehead = trace.prev;
31638 return;
31639 }
31640 void parser___ReduceAction522___init(val_t self, int* init_table) {
31641 struct trace_t trace = {NULL, "parser::ReduceAction522::init (src/parser//parser.nit:16393,1--4)"};
31642 trace.prev = tracehead; tracehead = &trace;
31643 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction522].i]) return;
31644 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction522].i] = 1;
31645 tracehead = trace.prev;
31646 return;
31647 }
31648 void parser___ReduceAction523___action(val_t self, val_t param0) {
31649 struct trace_t trace = {NULL, "parser::ReduceAction523::action (src/parser//parser.nit:16397,2--16425:34)"};
31650 val_t variable0;
31651 val_t variable1;
31652 val_t variable2;
31653 val_t variable3;
31654 val_t variable4;
31655 val_t variable5;
31656 val_t variable6;
31657 val_t variable7;
31658 val_t variable8;
31659 val_t variable9;
31660 val_t variable10;
31661 val_t variable11;
31662 trace.prev = tracehead; tracehead = &trace;
31663 variable0 = param0;
31664 variable1 = NIT_NULL /*null*/;
31665 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31666 variable2 = variable3;
31667 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31668 variable3 = variable4;
31669 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31670 variable4 = variable5;
31671 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31672 variable5 = variable6;
31673 variable7 = NEW_array___Array___init(); /*new Array[Object]*/
31674 variable6 = variable7;
31675 variable7 = variable5 /*nodearraylist1*/;
31676 variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
31677 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16406,6--34\n"); nit_exit(1);}
31678 variable8 = variable3 /*nodearraylist3*/;
31679 variable9 = TAG_Bool(( variable8 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable8 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
31680 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16408,6--32\n"); nit_exit(1);}
31681 variable9 = variable2 /*nodearraylist4*/;
31682 variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31683 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16410,6--38\n"); nit_exit(1);}
31684 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ == NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
31685 if (UNTAG_Bool(variable10)) { /*if*/
31686 variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/;
31687 if (UNTAG_Bool(variable10)) { /*if*/
31688 variable6 = variable9 /*listnode5*/ /*listnode6=*/;
31689 } else { /*if*/
31690 ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable9 /*listnode5*/) /*Array::append*/;
31691 }
31692 }
31693 variable11 = NEW_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/, variable8 /*ptypenode3*/, NIT_NULL /*null*/, variable6 /*listnode6*/); /*new ANewExpr*/
31694 variable10 = variable11;
31695 variable1 = variable10 /*pexprnode1*/ /*node_list=*/;
31696 variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(99)) /*Parser::go_to*/;
31697 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/;
31698 tracehead = trace.prev;
31699 return;
31700 }
31701 void parser___ReduceAction523___init(val_t self, int* init_table) {
31702 struct trace_t trace = {NULL, "parser::ReduceAction523::init (src/parser//parser.nit:16427,1--4)"};
31703 trace.prev = tracehead; tracehead = &trace;
31704 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction523].i]) return;
31705 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction523].i] = 1;
31706 tracehead = trace.prev;
31707 return;
31708 }
31709 void parser___ReduceAction524___action(val_t self, val_t param0) {
31710 struct trace_t trace = {NULL, "parser::ReduceAction524::action (src/parser//parser.nit:16431,2--16445:35)"};
31711 val_t variable0;
31712 val_t variable1;
31713 val_t variable2;
31714 val_t variable3;
31715 val_t variable4;
31716 val_t variable5;
31717 val_t variable6;
31718 val_t variable7;
31719 trace.prev = tracehead; tracehead = &trace;
31720 variable0 = param0;
31721 variable1 = NIT_NULL /*null*/;
31722 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31723 variable2 = variable3;
31724 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31725 variable3 = variable4;
31726 variable4 = variable3 /*nodearraylist1*/;
31727 variable5 = TAG_Bool(( variable4 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31728 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16437,6--32\n"); nit_exit(1);}
31729 variable5 = variable2 /*nodearraylist2*/;
31730 variable6 = TAG_Bool(( variable5 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable5 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
31731 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16439,6--36\n"); nit_exit(1);}
31732 variable7 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable4 /*pexprnode2*/, variable5 /*tattridnode3*/); /*new AAttrExpr*/
31733 variable6 = variable7;
31734 variable1 = variable6 /*pexprnode1*/ /*node_list=*/;
31735 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
31736 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
31737 tracehead = trace.prev;
31738 return;
31739 }
31740 void parser___ReduceAction524___init(val_t self, int* init_table) {
31741 struct trace_t trace = {NULL, "parser::ReduceAction524::init (src/parser//parser.nit:16447,1--4)"};
31742 trace.prev = tracehead; tracehead = &trace;
31743 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction524].i]) return;
31744 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction524].i] = 1;
31745 tracehead = trace.prev;
31746 return;
31747 }
31748 void parser___ReduceAction525___action(val_t self, val_t param0) {
31749 struct trace_t trace = {NULL, "parser::ReduceAction525::action (src/parser//parser.nit:16451,2--16477:35)"};
31750 val_t variable0;
31751 val_t variable1;
31752 val_t variable2;
31753 val_t variable3;
31754 val_t variable4;
31755 val_t variable5;
31756 val_t variable6;
31757 val_t variable7;
31758 val_t variable8;
31759 val_t variable9;
31760 val_t variable10;
31761 trace.prev = tracehead; tracehead = &trace;
31762 variable0 = param0;
31763 variable1 = NIT_NULL /*null*/;
31764 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31765 variable2 = variable3;
31766 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31767 variable3 = variable4;
31768 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31769 variable4 = variable5;
31770 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
31771 variable5 = variable6;
31772 variable6 = variable4 /*nodearraylist1*/;
31773 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31774 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16459,6--32\n"); nit_exit(1);}
31775 variable7 = variable3 /*nodearraylist2*/;
31776 variable8 = TAG_Bool(( variable7 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
31777 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16461,6--28\n"); nit_exit(1);}
31778 variable8 = variable2 /*nodearraylist3*/;
31779 variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31780 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16463,6--38\n"); nit_exit(1);}
31781 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
31782 if (UNTAG_Bool(variable9)) { /*if*/
31783 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
31784 if (UNTAG_Bool(variable9)) { /*if*/
31785 variable5 = variable8 /*listnode4*/ /*listnode5=*/;
31786 } else { /*if*/
31787 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/;
31788 }
31789 }
31790 variable10 = NEW_parser_prod___ACallExpr___init_acallexpr( variable6 /*pexprnode2*/, variable7 /*tidnode3*/, variable5 /*listnode5*/); /*new ACallExpr*/
31791 variable9 = variable10;
31792 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
31793 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
31794 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
31795 tracehead = trace.prev;
31796 return;
31797 }
31798 void parser___ReduceAction525___init(val_t self, int* init_table) {
31799 struct trace_t trace = {NULL, "parser::ReduceAction525::init (src/parser//parser.nit:16479,1--4)"};
31800 trace.prev = tracehead; tracehead = &trace;
31801 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction525].i]) return;
31802 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction525].i] = 1;
31803 tracehead = trace.prev;
31804 return;
31805 }
31806 void parser___ReduceAction526___action(val_t self, val_t param0) {
31807 struct trace_t trace = {NULL, "parser::ReduceAction526::action (src/parser//parser.nit:16483,2--16506:35)"};
31808 val_t variable0;
31809 val_t variable1;
31810 val_t variable2;
31811 val_t variable3;
31812 val_t variable4;
31813 val_t variable5;
31814 val_t variable6;
31815 val_t variable7;
31816 val_t variable8;
31817 trace.prev = tracehead; tracehead = &trace;
31818 variable0 = param0;
31819 variable1 = NIT_NULL /*null*/;
31820 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31821 variable2 = variable3;
31822 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31823 variable3 = variable4;
31824 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
31825 variable4 = variable5;
31826 variable5 = variable3 /*nodearraylist1*/;
31827 variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
31828 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16490,6--38\n"); nit_exit(1);}
31829 variable6 = variable2 /*nodearraylist2*/;
31830 variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31831 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16492,6--38\n"); nit_exit(1);}
31832 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
31833 if (UNTAG_Bool(variable7)) { /*if*/
31834 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/;
31835 if (UNTAG_Bool(variable7)) { /*if*/
31836 variable4 = variable6 /*listnode4*/ /*listnode5=*/;
31837 } else { /*if*/
31838 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable6 /*listnode4*/) /*Array::append*/;
31839 }
31840 }
31841 variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable5 /*tkwsupernode3*/, variable4 /*listnode5*/); /*new ASuperExpr*/
31842 variable7 = variable8;
31843 variable1 = variable7 /*pexprnode1*/ /*node_list=*/;
31844 variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
31845 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/;
31846 tracehead = trace.prev;
31847 return;
31848 }
31849 void parser___ReduceAction526___init(val_t self, int* init_table) {
31850 struct trace_t trace = {NULL, "parser::ReduceAction526::init (src/parser//parser.nit:16508,1--4)"};
31851 trace.prev = tracehead; tracehead = &trace;
31852 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction526].i]) return;
31853 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction526].i] = 1;
31854 tracehead = trace.prev;
31855 return;
31856 }
31857 void parser___ReduceAction527___action(val_t self, val_t param0) {
31858 struct trace_t trace = {NULL, "parser::ReduceAction527::action (src/parser//parser.nit:16512,2--16538:35)"};
31859 val_t variable0;
31860 val_t variable1;
31861 val_t variable2;
31862 val_t variable3;
31863 val_t variable4;
31864 val_t variable5;
31865 val_t variable6;
31866 val_t variable7;
31867 val_t variable8;
31868 val_t variable9;
31869 val_t variable10;
31870 trace.prev = tracehead; tracehead = &trace;
31871 variable0 = param0;
31872 variable1 = NIT_NULL /*null*/;
31873 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31874 variable2 = variable3;
31875 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31876 variable3 = variable4;
31877 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31878 variable4 = variable5;
31879 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
31880 variable5 = variable6;
31881 variable6 = variable4 /*nodearraylist1*/;
31882 variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
31883 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16520,6--42\n"); nit_exit(1);}
31884 variable7 = variable3 /*nodearraylist2*/;
31885 variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
31886 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16522,6--38\n"); nit_exit(1);}
31887 variable8 = variable2 /*nodearraylist3*/;
31888 variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31889 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16524,6--38\n"); nit_exit(1);}
31890 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
31891 if (UNTAG_Bool(variable9)) { /*if*/
31892 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
31893 if (UNTAG_Bool(variable9)) { /*if*/
31894 variable5 = variable8 /*listnode4*/ /*listnode5=*/;
31895 } else { /*if*/
31896 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/;
31897 }
31898 }
31899 variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/, variable7 /*tkwsupernode3*/, variable5 /*listnode5*/); /*new ASuperExpr*/
31900 variable9 = variable10;
31901 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
31902 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
31903 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
31904 tracehead = trace.prev;
31905 return;
31906 }
31907 void parser___ReduceAction527___init(val_t self, int* init_table) {
31908 struct trace_t trace = {NULL, "parser::ReduceAction527::init (src/parser//parser.nit:16540,1--4)"};
31909 trace.prev = tracehead; tracehead = &trace;
31910 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction527].i]) return;
31911 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction527].i] = 1;
31912 tracehead = trace.prev;
31913 return;
31914 }
31915 void parser___ReduceAction528___action(val_t self, val_t param0) {
31916 struct trace_t trace = {NULL, "parser::ReduceAction528::action (src/parser//parser.nit:16544,2--16570:35)"};
31917 val_t variable0;
31918 val_t variable1;
31919 val_t variable2;
31920 val_t variable3;
31921 val_t variable4;
31922 val_t variable5;
31923 val_t variable6;
31924 val_t variable7;
31925 val_t variable8;
31926 val_t variable9;
31927 val_t variable10;
31928 trace.prev = tracehead; tracehead = &trace;
31929 variable0 = param0;
31930 variable1 = NIT_NULL /*null*/;
31931 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31932 variable2 = variable3;
31933 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31934 variable3 = variable4;
31935 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31936 variable4 = variable5;
31937 variable6 = NEW_array___Array___init(); /*new Array[Object]*/
31938 variable5 = variable6;
31939 variable6 = variable4 /*nodearraylist1*/;
31940 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31941 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16552,6--32\n"); nit_exit(1);}
31942 variable7 = variable3 /*nodearraylist2*/;
31943 variable8 = TAG_Bool(( variable7 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
31944 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16554,6--36\n"); nit_exit(1);}
31945 variable8 = variable2 /*nodearraylist3*/;
31946 variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
31947 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16556,6--38\n"); nit_exit(1);}
31948 variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/)))));
31949 if (UNTAG_Bool(variable9)) { /*if*/
31950 variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/;
31951 if (UNTAG_Bool(variable9)) { /*if*/
31952 variable5 = variable8 /*listnode4*/ /*listnode5=*/;
31953 } else { /*if*/
31954 ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/;
31955 }
31956 }
31957 variable10 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable6 /*pexprnode2*/, variable7 /*tkwinitnode3*/, variable5 /*listnode5*/); /*new AInitExpr*/
31958 variable9 = variable10;
31959 variable1 = variable9 /*pexprnode1*/ /*node_list=*/;
31960 variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
31961 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/;
31962 tracehead = trace.prev;
31963 return;
31964 }
31965 void parser___ReduceAction528___init(val_t self, int* init_table) {
31966 struct trace_t trace = {NULL, "parser::ReduceAction528::init (src/parser//parser.nit:16572,1--4)"};
31967 trace.prev = tracehead; tracehead = &trace;
31968 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction528].i]) return;
31969 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction528].i] = 1;
31970 tracehead = trace.prev;
31971 return;
31972 }
31973 void parser___ReduceAction529___action(val_t self, val_t param0) {
31974 struct trace_t trace = {NULL, "parser::ReduceAction529::action (src/parser//parser.nit:16576,2--16609:35)"};
31975 val_t variable0;
31976 val_t variable1;
31977 val_t variable2;
31978 val_t variable3;
31979 val_t variable4;
31980 val_t variable5;
31981 val_t variable6;
31982 val_t variable7;
31983 val_t variable8;
31984 val_t variable9;
31985 val_t variable10;
31986 val_t variable11;
31987 val_t variable12;
31988 val_t variable13;
31989 val_t variable14;
31990 val_t variable15;
31991 trace.prev = tracehead; tracehead = &trace;
31992 variable0 = param0;
31993 variable1 = NIT_NULL /*null*/;
31994 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31995 variable2 = variable3;
31996 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31997 variable3 = variable4;
31998 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
31999 variable4 = variable5;
32000 variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32001 variable5 = variable6;
32002 variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32003 variable6 = variable7;
32004 variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32005 variable7 = variable8;
32006 variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32007 variable8 = variable9;
32008 variable10 = NEW_array___Array___init(); /*new Array[Object]*/
32009 variable9 = variable10;
32010 variable10 = variable8 /*nodearraylist1*/;
32011 variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
32012 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16588,6--34\n"); nit_exit(1);}
32013 variable11 = variable6 /*nodearraylist3*/;
32014 variable12 = TAG_Bool(( variable11 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
32015 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16590,6--32\n"); nit_exit(1);}
32016 variable12 = variable3 /*nodearraylist6*/;
32017 variable13 = TAG_Bool(( variable12 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
32018 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16592,6--28\n"); nit_exit(1);}
32019 variable13 = variable2 /*nodearraylist7*/;
32020 variable14 = TAG_Bool(( variable13 /*listnode5*/==NIT_NULL) || VAL_ISA( variable13 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32021 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16594,6--38\n"); nit_exit(1);}
32022 variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ == NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/)))));
32023 if (UNTAG_Bool(variable14)) { /*if*/
32024 variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*Array::is_empty*/;
32025 if (UNTAG_Bool(variable14)) { /*if*/
32026 variable9 = variable13 /*listnode5*/ /*listnode6=*/;
32027 } else { /*if*/
32028 ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/, variable13 /*listnode5*/) /*Array::append*/;
32029 }
32030 }
32031 variable15 = NEW_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/, variable11 /*ptypenode3*/, variable12 /*tidnode4*/, variable9 /*listnode6*/); /*new ANewExpr*/
32032 variable14 = variable15;
32033 variable1 = variable14 /*pexprnode1*/ /*node_list=*/;
32034 variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
32035 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/;
32036 tracehead = trace.prev;
32037 return;
32038 }
32039 void parser___ReduceAction529___init(val_t self, int* init_table) {
32040 struct trace_t trace = {NULL, "parser::ReduceAction529::init (src/parser//parser.nit:16611,1--4)"};
32041 trace.prev = tracehead; tracehead = &trace;
32042 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction529].i]) return;
32043 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction529].i] = 1;
32044 tracehead = trace.prev;
32045 return;
32046 }
32047 void parser___ReduceAction530___action(val_t self, val_t param0) {
32048 struct trace_t trace = {NULL, "parser::ReduceAction530::action (src/parser//parser.nit:16615,2--16625:35)"};
32049 val_t variable0;
32050 val_t variable1;
32051 val_t variable2;
32052 val_t variable3;
32053 val_t variable4;
32054 val_t variable5;
32055 trace.prev = tracehead; tracehead = &trace;
32056 variable0 = param0;
32057 variable1 = NIT_NULL /*null*/;
32058 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32059 variable2 = variable3;
32060 variable3 = variable2 /*nodearraylist1*/;
32061 variable4 = TAG_Bool(( variable3 /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
32062 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16620,6--36\n"); nit_exit(1);}
32063 variable5 = NEW_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/
32064 variable4 = variable5;
32065 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
32066 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
32067 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32068 tracehead = trace.prev;
32069 return;
32070 }
32071 void parser___ReduceAction530___init(val_t self, int* init_table) {
32072 struct trace_t trace = {NULL, "parser::ReduceAction530::init (src/parser//parser.nit:16627,1--4)"};
32073 trace.prev = tracehead; tracehead = &trace;
32074 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction530].i]) return;
32075 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction530].i] = 1;
32076 tracehead = trace.prev;
32077 return;
32078 }
32079 void parser___ReduceAction531___action(val_t self, val_t param0) {
32080 struct trace_t trace = {NULL, "parser::ReduceAction531::action (src/parser//parser.nit:16631,2--16641:35)"};
32081 val_t variable0;
32082 val_t variable1;
32083 val_t variable2;
32084 val_t variable3;
32085 val_t variable4;
32086 val_t variable5;
32087 trace.prev = tracehead; tracehead = &trace;
32088 variable0 = param0;
32089 variable1 = NIT_NULL /*null*/;
32090 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32091 variable2 = variable3;
32092 variable3 = variable2 /*nodearraylist1*/;
32093 variable4 = TAG_Bool(( variable3 /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
32094 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16636,6--36\n"); nit_exit(1);}
32095 variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/
32096 variable4 = variable5;
32097 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
32098 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
32099 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32100 tracehead = trace.prev;
32101 return;
32102 }
32103 void parser___ReduceAction531___init(val_t self, int* init_table) {
32104 struct trace_t trace = {NULL, "parser::ReduceAction531::init (src/parser//parser.nit:16643,1--4)"};
32105 trace.prev = tracehead; tracehead = &trace;
32106 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction531].i]) return;
32107 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction531].i] = 1;
32108 tracehead = trace.prev;
32109 return;
32110 }
32111 void parser___ReduceAction532___action(val_t self, val_t param0) {
32112 struct trace_t trace = {NULL, "parser::ReduceAction532::action (src/parser//parser.nit:16647,2--16657:35)"};
32113 val_t variable0;
32114 val_t variable1;
32115 val_t variable2;
32116 val_t variable3;
32117 val_t variable4;
32118 val_t variable5;
32119 trace.prev = tracehead; tracehead = &trace;
32120 variable0 = param0;
32121 variable1 = NIT_NULL /*null*/;
32122 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32123 variable2 = variable3;
32124 variable3 = variable2 /*nodearraylist1*/;
32125 variable4 = TAG_Bool(( variable3 /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
32126 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16652,6--38\n"); nit_exit(1);}
32127 variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/
32128 variable4 = variable5;
32129 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
32130 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
32131 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32132 tracehead = trace.prev;
32133 return;
32134 }
32135 void parser___ReduceAction532___init(val_t self, int* init_table) {
32136 struct trace_t trace = {NULL, "parser::ReduceAction532::init (src/parser//parser.nit:16659,1--4)"};
32137 trace.prev = tracehead; tracehead = &trace;
32138 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction532].i]) return;
32139 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction532].i] = 1;
32140 tracehead = trace.prev;
32141 return;
32142 }
32143 void parser___ReduceAction533___action(val_t self, val_t param0) {
32144 struct trace_t trace = {NULL, "parser::ReduceAction533::action (src/parser//parser.nit:16663,2--16673:35)"};
32145 val_t variable0;
32146 val_t variable1;
32147 val_t variable2;
32148 val_t variable3;
32149 val_t variable4;
32150 val_t variable5;
32151 trace.prev = tracehead; tracehead = &trace;
32152 variable0 = param0;
32153 variable1 = NIT_NULL /*null*/;
32154 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32155 variable2 = variable3;
32156 variable3 = variable2 /*nodearraylist1*/;
32157 variable4 = TAG_Bool(( variable3 /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
32158 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16668,6--36\n"); nit_exit(1);}
32159 variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/
32160 variable4 = variable5;
32161 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
32162 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
32163 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32164 tracehead = trace.prev;
32165 return;
32166 }
32167 void parser___ReduceAction533___init(val_t self, int* init_table) {
32168 struct trace_t trace = {NULL, "parser::ReduceAction533::init (src/parser//parser.nit:16675,1--4)"};
32169 trace.prev = tracehead; tracehead = &trace;
32170 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction533].i]) return;
32171 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction533].i] = 1;
32172 tracehead = trace.prev;
32173 return;
32174 }
32175 void parser___ReduceAction534___action(val_t self, val_t param0) {
32176 struct trace_t trace = {NULL, "parser::ReduceAction534::action (src/parser//parser.nit:16679,2--16689:35)"};
32177 val_t variable0;
32178 val_t variable1;
32179 val_t variable2;
32180 val_t variable3;
32181 val_t variable4;
32182 val_t variable5;
32183 trace.prev = tracehead; tracehead = &trace;
32184 variable0 = param0;
32185 variable1 = NIT_NULL /*null*/;
32186 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32187 variable2 = variable3;
32188 variable3 = variable2 /*nodearraylist1*/;
32189 variable4 = TAG_Bool(( variable3 /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
32190 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16684,6--36\n"); nit_exit(1);}
32191 variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/
32192 variable4 = variable5;
32193 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
32194 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
32195 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32196 tracehead = trace.prev;
32197 return;
32198 }
32199 void parser___ReduceAction534___init(val_t self, int* init_table) {
32200 struct trace_t trace = {NULL, "parser::ReduceAction534::init (src/parser//parser.nit:16691,1--4)"};
32201 trace.prev = tracehead; tracehead = &trace;
32202 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction534].i]) return;
32203 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction534].i] = 1;
32204 tracehead = trace.prev;
32205 return;
32206 }
32207 void parser___ReduceAction535___action(val_t self, val_t param0) {
32208 struct trace_t trace = {NULL, "parser::ReduceAction535::action (src/parser//parser.nit:16695,2--16705:35)"};
32209 val_t variable0;
32210 val_t variable1;
32211 val_t variable2;
32212 val_t variable3;
32213 val_t variable4;
32214 val_t variable5;
32215 trace.prev = tracehead; tracehead = &trace;
32216 variable0 = param0;
32217 variable1 = NIT_NULL /*null*/;
32218 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32219 variable2 = variable3;
32220 variable3 = variable2 /*nodearraylist1*/;
32221 variable4 = TAG_Bool(( variable3 /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
32222 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16700,6--34\n"); nit_exit(1);}
32223 variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/
32224 variable4 = variable5;
32225 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
32226 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
32227 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32228 tracehead = trace.prev;
32229 return;
32230 }
32231 void parser___ReduceAction535___init(val_t self, int* init_table) {
32232 struct trace_t trace = {NULL, "parser::ReduceAction535::init (src/parser//parser.nit:16707,1--4)"};
32233 trace.prev = tracehead; tracehead = &trace;
32234 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction535].i]) return;
32235 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction535].i] = 1;
32236 tracehead = trace.prev;
32237 return;
32238 }
32239 void parser___ReduceAction536___action(val_t self, val_t param0) {
32240 struct trace_t trace = {NULL, "parser::ReduceAction536::action (src/parser//parser.nit:16711,2--16721:35)"};
32241 val_t variable0;
32242 val_t variable1;
32243 val_t variable2;
32244 val_t variable3;
32245 val_t variable4;
32246 val_t variable5;
32247 trace.prev = tracehead; tracehead = &trace;
32248 variable0 = param0;
32249 variable1 = NIT_NULL /*null*/;
32250 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32251 variable2 = variable3;
32252 variable3 = variable2 /*nodearraylist1*/;
32253 variable4 = TAG_Bool(( variable3 /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
32254 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16716,6--32\n"); nit_exit(1);}
32255 variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/
32256 variable4 = variable5;
32257 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
32258 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
32259 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32260 tracehead = trace.prev;
32261 return;
32262 }
32263 void parser___ReduceAction536___init(val_t self, int* init_table) {
32264 struct trace_t trace = {NULL, "parser::ReduceAction536::init (src/parser//parser.nit:16723,1--4)"};
32265 trace.prev = tracehead; tracehead = &trace;
32266 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction536].i]) return;
32267 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction536].i] = 1;
32268 tracehead = trace.prev;
32269 return;
32270 }
32271 void parser___ReduceAction537___action(val_t self, val_t param0) {
32272 struct trace_t trace = {NULL, "parser::ReduceAction537::action (src/parser//parser.nit:16727,2--16737:35)"};
32273 val_t variable0;
32274 val_t variable1;
32275 val_t variable2;
32276 val_t variable3;
32277 val_t variable4;
32278 val_t variable5;
32279 trace.prev = tracehead; tracehead = &trace;
32280 variable0 = param0;
32281 variable1 = NIT_NULL /*null*/;
32282 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32283 variable2 = variable3;
32284 variable3 = variable2 /*nodearraylist1*/;
32285 variable4 = TAG_Bool(( variable3 /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
32286 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16732,6--36\n"); nit_exit(1);}
32287 variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/
32288 variable4 = variable5;
32289 variable1 = variable4 /*pexprnode1*/ /*node_list=*/;
32290 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
32291 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32292 tracehead = trace.prev;
32293 return;
32294 }
32295 void parser___ReduceAction537___init(val_t self, int* init_table) {
32296 struct trace_t trace = {NULL, "parser::ReduceAction537::init (src/parser//parser.nit:16739,1--4)"};
32297 trace.prev = tracehead; tracehead = &trace;
32298 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction537].i]) return;
32299 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction537].i] = 1;
32300 tracehead = trace.prev;
32301 return;
32302 }
32303 void parser___ReduceAction538___action(val_t self, val_t param0) {
32304 struct trace_t trace = {NULL, "parser::ReduceAction538::action (src/parser//parser.nit:16743,2--16750:35)"};
32305 val_t variable0;
32306 val_t variable1;
32307 val_t variable2;
32308 val_t variable3;
32309 val_t variable4;
32310 trace.prev = tracehead; tracehead = &trace;
32311 variable0 = param0;
32312 variable1 = NIT_NULL /*null*/;
32313 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32314 variable2 = variable3;
32315 variable3 = variable2 /*nodearraylist1*/;
32316 variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32317 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16748,6--32\n"); nit_exit(1);}
32318 variable1 = variable3 /*pexprnode1*/ /*node_list=*/;
32319 variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/;
32320 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/;
32321 tracehead = trace.prev;
32322 return;
32323 }
32324 void parser___ReduceAction538___init(val_t self, int* init_table) {
32325 struct trace_t trace = {NULL, "parser::ReduceAction538::init (src/parser//parser.nit:16752,1--4)"};
32326 trace.prev = tracehead; tracehead = &trace;
32327 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction538].i]) return;
32328 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction538].i] = 1;
32329 tracehead = trace.prev;
32330 return;
32331 }
32332 void parser___ReduceAction539___action(val_t self, val_t param0) {
32333 struct trace_t trace = {NULL, "parser::ReduceAction539::action (src/parser//parser.nit:16756,2--16765:35)"};
32334 val_t variable0;
32335 val_t variable1;
32336 val_t variable2;
32337 val_t variable3;
32338 val_t variable4;
32339 val_t variable5;
32340 val_t variable6;
32341 trace.prev = tracehead; tracehead = &trace;
32342 variable0 = param0;
32343 variable1 = NIT_NULL /*null*/;
32344 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32345 variable2 = variable3;
32346 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32347 variable3 = variable4;
32348 variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32349 variable4 = variable5;
32350 variable5 = variable4 /*nodearraylist1*/;
32351 variable6 = TAG_Bool(( variable5 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
32352 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16763,6--32\n"); nit_exit(1);}
32353 variable1 = variable5 /*pexprnode1*/ /*node_list=*/;
32354 variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(101)) /*Parser::go_to*/;
32355 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/;
32356 tracehead = trace.prev;
32357 return;
32358 }
32359 void parser___ReduceAction539___init(val_t self, int* init_table) {
32360 struct trace_t trace = {NULL, "parser::ReduceAction539::init (src/parser//parser.nit:16767,1--4)"};
32361 trace.prev = tracehead; tracehead = &trace;
32362 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction539].i]) return;
32363 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction539].i] = 1;
32364 tracehead = trace.prev;
32365 return;
32366 }
32367 void parser___ReduceAction540___action(val_t self, val_t param0) {
32368 struct trace_t trace = {NULL, "parser::ReduceAction540::action (src/parser//parser.nit:16771,2--16777:35)"};
32369 val_t variable0;
32370 val_t variable1;
32371 val_t variable2;
32372 val_t variable3;
32373 trace.prev = tracehead; tracehead = &trace;
32374 variable0 = param0;
32375 variable1 = NIT_NULL /*null*/;
32376 variable3 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/
32377 variable2 = variable3;
32378 variable1 = variable2 /*pexprnode1*/ /*node_list=*/;
32379 variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(101)) /*Parser::go_to*/;
32380 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/;
32381 tracehead = trace.prev;
32382 return;
32383 }
32384 void parser___ReduceAction540___init(val_t self, int* init_table) {
32385 struct trace_t trace = {NULL, "parser::ReduceAction540::init (src/parser//parser.nit:16779,1--4)"};
32386 trace.prev = tracehead; tracehead = &trace;
32387 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction540].i]) return;
32388 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction540].i] = 1;
32389 tracehead = trace.prev;
32390 return;
32391 }
32392 void parser___ReduceAction541___action(val_t self, val_t param0) {
32393 struct trace_t trace = {NULL, "parser::ReduceAction541::action (src/parser//parser.nit:16783,2--16794:35)"};
32394 val_t variable0;
32395 val_t variable1;
32396 val_t variable2;
32397 val_t variable3;
32398 val_t variable4;
32399 val_t variable5;
32400 trace.prev = tracehead; tracehead = &trace;
32401 variable0 = param0;
32402 variable1 = NIT_NULL /*null*/;
32403 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32404 variable2 = variable3;
32405 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
32406 variable3 = variable4;
32407 variable4 = variable2 /*nodearraylist1*/;
32408 variable5 = TAG_Bool(( variable4 /*pimportnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pimportnode1*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
32409 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16789,6--36\n"); nit_exit(1);}
32410 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pimportnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pimportnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pimportnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pimportnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pimportnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pimportnode1*/, NIT_NULL /*null*/) /*PImport::==*/)))))));
32411 if (UNTAG_Bool(variable5)) { /*if*/
32412 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pimportnode1*/) /*Array::add*/;
32413 }
32414 variable1 = variable3 /*listnode2*/ /*node_list=*/;
32415 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(102)) /*Parser::go_to*/;
32416 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32417 tracehead = trace.prev;
32418 return;
32419 }
32420 void parser___ReduceAction541___init(val_t self, int* init_table) {
32421 struct trace_t trace = {NULL, "parser::ReduceAction541::init (src/parser//parser.nit:16796,1--4)"};
32422 trace.prev = tracehead; tracehead = &trace;
32423 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction541].i]) return;
32424 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction541].i] = 1;
32425 tracehead = trace.prev;
32426 return;
32427 }
32428 void parser___ReduceAction542___action(val_t self, val_t param0) {
32429 struct trace_t trace = {NULL, "parser::ReduceAction542::action (src/parser//parser.nit:16800,2--16821:35)"};
32430 val_t variable0;
32431 val_t variable1;
32432 val_t variable2;
32433 val_t variable3;
32434 val_t variable4;
32435 val_t variable5;
32436 val_t variable6;
32437 val_t variable7;
32438 trace.prev = tracehead; tracehead = &trace;
32439 variable0 = param0;
32440 variable1 = NIT_NULL /*null*/;
32441 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32442 variable2 = variable3;
32443 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32444 variable3 = variable4;
32445 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
32446 variable4 = variable5;
32447 variable5 = variable3 /*nodearraylist1*/;
32448 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32449 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16807,6--38\n"); nit_exit(1);}
32450 variable6 = variable2 /*nodearraylist2*/;
32451 variable7 = TAG_Bool(( variable6 /*pimportnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pimportnode2*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
32452 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16809,6--36\n"); nit_exit(1);}
32453 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
32454 if (UNTAG_Bool(variable7)) { /*if*/
32455 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
32456 if (UNTAG_Bool(variable7)) { /*if*/
32457 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
32458 } else { /*if*/
32459 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
32460 }
32461 }
32462 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pimportnode2*/ == NIT_NULL /*null*/) || (( variable6 /*pimportnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pimportnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pimportnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pimportnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pimportnode2*/, NIT_NULL /*null*/) /*PImport::==*/)))))));
32463 if (UNTAG_Bool(variable7)) { /*if*/
32464 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*pimportnode2*/) /*Array::add*/;
32465 }
32466 variable1 = variable4 /*listnode3*/ /*node_list=*/;
32467 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(102)) /*Parser::go_to*/;
32468 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
32469 tracehead = trace.prev;
32470 return;
32471 }
32472 void parser___ReduceAction542___init(val_t self, int* init_table) {
32473 struct trace_t trace = {NULL, "parser::ReduceAction542::init (src/parser//parser.nit:16823,1--4)"};
32474 trace.prev = tracehead; tracehead = &trace;
32475 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction542].i]) return;
32476 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction542].i] = 1;
32477 tracehead = trace.prev;
32478 return;
32479 }
32480 void parser___ReduceAction543___action(val_t self, val_t param0) {
32481 struct trace_t trace = {NULL, "parser::ReduceAction543::action (src/parser//parser.nit:16827,2--16838:35)"};
32482 val_t variable0;
32483 val_t variable1;
32484 val_t variable2;
32485 val_t variable3;
32486 val_t variable4;
32487 val_t variable5;
32488 trace.prev = tracehead; tracehead = &trace;
32489 variable0 = param0;
32490 variable1 = NIT_NULL /*null*/;
32491 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32492 variable2 = variable3;
32493 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
32494 variable3 = variable4;
32495 variable4 = variable2 /*nodearraylist1*/;
32496 variable5 = TAG_Bool(( variable4 /*pclassdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pclassdefnode1*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
32497 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16833,6--40\n"); nit_exit(1);}
32498 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pclassdefnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pclassdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pclassdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pclassdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pclassdefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pclassdefnode1*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
32499 if (UNTAG_Bool(variable5)) { /*if*/
32500 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pclassdefnode1*/) /*Array::add*/;
32501 }
32502 variable1 = variable3 /*listnode2*/ /*node_list=*/;
32503 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(103)) /*Parser::go_to*/;
32504 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32505 tracehead = trace.prev;
32506 return;
32507 }
32508 void parser___ReduceAction543___init(val_t self, int* init_table) {
32509 struct trace_t trace = {NULL, "parser::ReduceAction543::init (src/parser//parser.nit:16840,1--4)"};
32510 trace.prev = tracehead; tracehead = &trace;
32511 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction543].i]) return;
32512 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction543].i] = 1;
32513 tracehead = trace.prev;
32514 return;
32515 }
32516 void parser___ReduceAction544___action(val_t self, val_t param0) {
32517 struct trace_t trace = {NULL, "parser::ReduceAction544::action (src/parser//parser.nit:16844,2--16865:35)"};
32518 val_t variable0;
32519 val_t variable1;
32520 val_t variable2;
32521 val_t variable3;
32522 val_t variable4;
32523 val_t variable5;
32524 val_t variable6;
32525 val_t variable7;
32526 trace.prev = tracehead; tracehead = &trace;
32527 variable0 = param0;
32528 variable1 = NIT_NULL /*null*/;
32529 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32530 variable2 = variable3;
32531 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32532 variable3 = variable4;
32533 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
32534 variable4 = variable5;
32535 variable5 = variable3 /*nodearraylist1*/;
32536 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32537 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16851,6--38\n"); nit_exit(1);}
32538 variable6 = variable2 /*nodearraylist2*/;
32539 variable7 = TAG_Bool(( variable6 /*pclassdefnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pclassdefnode2*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
32540 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16853,6--40\n"); nit_exit(1);}
32541 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
32542 if (UNTAG_Bool(variable7)) { /*if*/
32543 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
32544 if (UNTAG_Bool(variable7)) { /*if*/
32545 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
32546 } else { /*if*/
32547 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
32548 }
32549 }
32550 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pclassdefnode2*/ == NIT_NULL /*null*/) || (( variable6 /*pclassdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pclassdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pclassdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pclassdefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pclassdefnode2*/, NIT_NULL /*null*/) /*PClassdef::==*/)))))));
32551 if (UNTAG_Bool(variable7)) { /*if*/
32552 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*pclassdefnode2*/) /*Array::add*/;
32553 }
32554 variable1 = variable4 /*listnode3*/ /*node_list=*/;
32555 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(103)) /*Parser::go_to*/;
32556 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
32557 tracehead = trace.prev;
32558 return;
32559 }
32560 void parser___ReduceAction544___init(val_t self, int* init_table) {
32561 struct trace_t trace = {NULL, "parser::ReduceAction544::init (src/parser//parser.nit:16867,1--4)"};
32562 trace.prev = tracehead; tracehead = &trace;
32563 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction544].i]) return;
32564 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction544].i] = 1;
32565 tracehead = trace.prev;
32566 return;
32567 }
32568 void parser___ReduceAction545___action(val_t self, val_t param0) {
32569 struct trace_t trace = {NULL, "parser::ReduceAction545::action (src/parser//parser.nit:16871,2--16882:35)"};
32570 val_t variable0;
32571 val_t variable1;
32572 val_t variable2;
32573 val_t variable3;
32574 val_t variable4;
32575 val_t variable5;
32576 trace.prev = tracehead; tracehead = &trace;
32577 variable0 = param0;
32578 variable1 = NIT_NULL /*null*/;
32579 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32580 variable2 = variable3;
32581 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
32582 variable3 = variable4;
32583 variable4 = variable2 /*nodearraylist1*/;
32584 variable5 = TAG_Bool(( variable4 /*psuperclassnode1*/==NIT_NULL) || VAL_ISA( variable4 /*psuperclassnode1*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
32585 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16877,6--44\n"); nit_exit(1);}
32586 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*psuperclassnode1*/ == NIT_NULL /*null*/) || (( variable4 /*psuperclassnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*psuperclassnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*psuperclassnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*psuperclassnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*psuperclassnode1*/, NIT_NULL /*null*/) /*PSuperclass::==*/)))))));
32587 if (UNTAG_Bool(variable5)) { /*if*/
32588 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*psuperclassnode1*/) /*Array::add*/;
32589 }
32590 variable1 = variable3 /*listnode2*/ /*node_list=*/;
32591 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(104)) /*Parser::go_to*/;
32592 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32593 tracehead = trace.prev;
32594 return;
32595 }
32596 void parser___ReduceAction545___init(val_t self, int* init_table) {
32597 struct trace_t trace = {NULL, "parser::ReduceAction545::init (src/parser//parser.nit:16884,1--4)"};
32598 trace.prev = tracehead; tracehead = &trace;
32599 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction545].i]) return;
32600 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction545].i] = 1;
32601 tracehead = trace.prev;
32602 return;
32603 }
32604 void parser___ReduceAction546___action(val_t self, val_t param0) {
32605 struct trace_t trace = {NULL, "parser::ReduceAction546::action (src/parser//parser.nit:16888,2--16909:35)"};
32606 val_t variable0;
32607 val_t variable1;
32608 val_t variable2;
32609 val_t variable3;
32610 val_t variable4;
32611 val_t variable5;
32612 val_t variable6;
32613 val_t variable7;
32614 trace.prev = tracehead; tracehead = &trace;
32615 variable0 = param0;
32616 variable1 = NIT_NULL /*null*/;
32617 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32618 variable2 = variable3;
32619 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32620 variable3 = variable4;
32621 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
32622 variable4 = variable5;
32623 variable5 = variable3 /*nodearraylist1*/;
32624 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32625 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16895,6--38\n"); nit_exit(1);}
32626 variable6 = variable2 /*nodearraylist2*/;
32627 variable7 = TAG_Bool(( variable6 /*psuperclassnode2*/==NIT_NULL) || VAL_ISA( variable6 /*psuperclassnode2*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
32628 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16897,6--44\n"); nit_exit(1);}
32629 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
32630 if (UNTAG_Bool(variable7)) { /*if*/
32631 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
32632 if (UNTAG_Bool(variable7)) { /*if*/
32633 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
32634 } else { /*if*/
32635 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
32636 }
32637 }
32638 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*psuperclassnode2*/ == NIT_NULL /*null*/) || (( variable6 /*psuperclassnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*psuperclassnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*psuperclassnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*psuperclassnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*psuperclassnode2*/, NIT_NULL /*null*/) /*PSuperclass::==*/)))))));
32639 if (UNTAG_Bool(variable7)) { /*if*/
32640 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*psuperclassnode2*/) /*Array::add*/;
32641 }
32642 variable1 = variable4 /*listnode3*/ /*node_list=*/;
32643 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(104)) /*Parser::go_to*/;
32644 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
32645 tracehead = trace.prev;
32646 return;
32647 }
32648 void parser___ReduceAction546___init(val_t self, int* init_table) {
32649 struct trace_t trace = {NULL, "parser::ReduceAction546::init (src/parser//parser.nit:16911,1--4)"};
32650 trace.prev = tracehead; tracehead = &trace;
32651 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction546].i]) return;
32652 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction546].i] = 1;
32653 tracehead = trace.prev;
32654 return;
32655 }
32656 void parser___ReduceAction547___action(val_t self, val_t param0) {
32657 struct trace_t trace = {NULL, "parser::ReduceAction547::action (src/parser//parser.nit:16915,2--16926:35)"};
32658 val_t variable0;
32659 val_t variable1;
32660 val_t variable2;
32661 val_t variable3;
32662 val_t variable4;
32663 val_t variable5;
32664 trace.prev = tracehead; tracehead = &trace;
32665 variable0 = param0;
32666 variable1 = NIT_NULL /*null*/;
32667 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32668 variable2 = variable3;
32669 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
32670 variable3 = variable4;
32671 variable4 = variable2 /*nodearraylist1*/;
32672 variable5 = TAG_Bool(( variable4 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
32673 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16921,6--42\n"); nit_exit(1);}
32674 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pformaldefnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pformaldefnode1*/, NIT_NULL /*null*/) /*PFormaldef::==*/)))))));
32675 if (UNTAG_Bool(variable5)) { /*if*/
32676 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pformaldefnode1*/) /*Array::add*/;
32677 }
32678 variable1 = variable3 /*listnode2*/ /*node_list=*/;
32679 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(105)) /*Parser::go_to*/;
32680 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32681 tracehead = trace.prev;
32682 return;
32683 }
32684 void parser___ReduceAction547___init(val_t self, int* init_table) {
32685 struct trace_t trace = {NULL, "parser::ReduceAction547::init (src/parser//parser.nit:16928,1--4)"};
32686 trace.prev = tracehead; tracehead = &trace;
32687 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction547].i]) return;
32688 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction547].i] = 1;
32689 tracehead = trace.prev;
32690 return;
32691 }
32692 void parser___ReduceAction548___action(val_t self, val_t param0) {
32693 struct trace_t trace = {NULL, "parser::ReduceAction548::action (src/parser//parser.nit:16932,2--16953:35)"};
32694 val_t variable0;
32695 val_t variable1;
32696 val_t variable2;
32697 val_t variable3;
32698 val_t variable4;
32699 val_t variable5;
32700 val_t variable6;
32701 val_t variable7;
32702 trace.prev = tracehead; tracehead = &trace;
32703 variable0 = param0;
32704 variable1 = NIT_NULL /*null*/;
32705 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32706 variable2 = variable3;
32707 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32708 variable3 = variable4;
32709 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
32710 variable4 = variable5;
32711 variable5 = variable3 /*nodearraylist1*/;
32712 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32713 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16939,6--38\n"); nit_exit(1);}
32714 variable6 = variable2 /*nodearraylist2*/;
32715 variable7 = TAG_Bool(( variable6 /*pformaldefnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pformaldefnode2*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
32716 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16941,6--42\n"); nit_exit(1);}
32717 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
32718 if (UNTAG_Bool(variable7)) { /*if*/
32719 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
32720 if (UNTAG_Bool(variable7)) { /*if*/
32721 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
32722 } else { /*if*/
32723 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
32724 }
32725 }
32726 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pformaldefnode2*/ == NIT_NULL /*null*/) || (( variable6 /*pformaldefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pformaldefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pformaldefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pformaldefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pformaldefnode2*/, NIT_NULL /*null*/) /*PFormaldef::==*/)))))));
32727 if (UNTAG_Bool(variable7)) { /*if*/
32728 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*pformaldefnode2*/) /*Array::add*/;
32729 }
32730 variable1 = variable4 /*listnode3*/ /*node_list=*/;
32731 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(105)) /*Parser::go_to*/;
32732 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
32733 tracehead = trace.prev;
32734 return;
32735 }
32736 void parser___ReduceAction548___init(val_t self, int* init_table) {
32737 struct trace_t trace = {NULL, "parser::ReduceAction548::init (src/parser//parser.nit:16955,1--4)"};
32738 trace.prev = tracehead; tracehead = &trace;
32739 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction548].i]) return;
32740 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction548].i] = 1;
32741 tracehead = trace.prev;
32742 return;
32743 }
32744 void parser___ReduceAction549___action(val_t self, val_t param0) {
32745 struct trace_t trace = {NULL, "parser::ReduceAction549::action (src/parser//parser.nit:16959,2--16970:35)"};
32746 val_t variable0;
32747 val_t variable1;
32748 val_t variable2;
32749 val_t variable3;
32750 val_t variable4;
32751 val_t variable5;
32752 trace.prev = tracehead; tracehead = &trace;
32753 variable0 = param0;
32754 variable1 = NIT_NULL /*null*/;
32755 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32756 variable2 = variable3;
32757 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
32758 variable3 = variable4;
32759 variable4 = variable2 /*nodearraylist1*/;
32760 variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
32761 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16965,6--38\n"); nit_exit(1);}
32762 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ppropdefnode1*/ == NIT_NULL /*null*/) || (( variable4 /*ppropdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ppropdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ppropdefnode1*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
32763 if (UNTAG_Bool(variable5)) { /*if*/
32764 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*ppropdefnode1*/) /*Array::add*/;
32765 }
32766 variable1 = variable3 /*listnode2*/ /*node_list=*/;
32767 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(106)) /*Parser::go_to*/;
32768 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32769 tracehead = trace.prev;
32770 return;
32771 }
32772 void parser___ReduceAction549___init(val_t self, int* init_table) {
32773 struct trace_t trace = {NULL, "parser::ReduceAction549::init (src/parser//parser.nit:16972,1--4)"};
32774 trace.prev = tracehead; tracehead = &trace;
32775 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction549].i]) return;
32776 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction549].i] = 1;
32777 tracehead = trace.prev;
32778 return;
32779 }
32780 void parser___ReduceAction550___action(val_t self, val_t param0) {
32781 struct trace_t trace = {NULL, "parser::ReduceAction550::action (src/parser//parser.nit:16976,2--16997:35)"};
32782 val_t variable0;
32783 val_t variable1;
32784 val_t variable2;
32785 val_t variable3;
32786 val_t variable4;
32787 val_t variable5;
32788 val_t variable6;
32789 val_t variable7;
32790 trace.prev = tracehead; tracehead = &trace;
32791 variable0 = param0;
32792 variable1 = NIT_NULL /*null*/;
32793 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32794 variable2 = variable3;
32795 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32796 variable3 = variable4;
32797 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
32798 variable4 = variable5;
32799 variable5 = variable3 /*nodearraylist1*/;
32800 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32801 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16983,6--38\n"); nit_exit(1);}
32802 variable6 = variable2 /*nodearraylist2*/;
32803 variable7 = TAG_Bool(( variable6 /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
32804 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16985,6--38\n"); nit_exit(1);}
32805 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
32806 if (UNTAG_Bool(variable7)) { /*if*/
32807 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
32808 if (UNTAG_Bool(variable7)) { /*if*/
32809 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
32810 } else { /*if*/
32811 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
32812 }
32813 }
32814 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*ppropdefnode2*/ == NIT_NULL /*null*/) || (( variable6 /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*ppropdefnode2*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
32815 if (UNTAG_Bool(variable7)) { /*if*/
32816 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*ppropdefnode2*/) /*Array::add*/;
32817 }
32818 variable1 = variable4 /*listnode3*/ /*node_list=*/;
32819 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(106)) /*Parser::go_to*/;
32820 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
32821 tracehead = trace.prev;
32822 return;
32823 }
32824 void parser___ReduceAction550___init(val_t self, int* init_table) {
32825 struct trace_t trace = {NULL, "parser::ReduceAction550::init (src/parser//parser.nit:16999,1--4)"};
32826 trace.prev = tracehead; tracehead = &trace;
32827 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction550].i]) return;
32828 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction550].i] = 1;
32829 tracehead = trace.prev;
32830 return;
32831 }
32832 void parser___ReduceAction551___action(val_t self, val_t param0) {
32833 struct trace_t trace = {NULL, "parser::ReduceAction551::action (src/parser//parser.nit:17003,2--17014:35)"};
32834 val_t variable0;
32835 val_t variable1;
32836 val_t variable2;
32837 val_t variable3;
32838 val_t variable4;
32839 val_t variable5;
32840 trace.prev = tracehead; tracehead = &trace;
32841 variable0 = param0;
32842 variable1 = NIT_NULL /*null*/;
32843 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32844 variable2 = variable3;
32845 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
32846 variable3 = variable4;
32847 variable4 = variable2 /*nodearraylist1*/;
32848 variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
32849 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17009,6--38\n"); nit_exit(1);}
32850 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ppropdefnode1*/ == NIT_NULL /*null*/) || (( variable4 /*ppropdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ppropdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ppropdefnode1*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
32851 if (UNTAG_Bool(variable5)) { /*if*/
32852 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*ppropdefnode1*/) /*Array::add*/;
32853 }
32854 variable1 = variable3 /*listnode2*/ /*node_list=*/;
32855 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32856 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32857 tracehead = trace.prev;
32858 return;
32859 }
32860 void parser___ReduceAction551___init(val_t self, int* init_table) {
32861 struct trace_t trace = {NULL, "parser::ReduceAction551::init (src/parser//parser.nit:17016,1--4)"};
32862 trace.prev = tracehead; tracehead = &trace;
32863 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction551].i]) return;
32864 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction551].i] = 1;
32865 tracehead = trace.prev;
32866 return;
32867 }
32868 void parser___ReduceAction552___action(val_t self, val_t param0) {
32869 struct trace_t trace = {NULL, "parser::ReduceAction552::action (src/parser//parser.nit:17020,2--17041:35)"};
32870 val_t variable0;
32871 val_t variable1;
32872 val_t variable2;
32873 val_t variable3;
32874 val_t variable4;
32875 val_t variable5;
32876 val_t variable6;
32877 val_t variable7;
32878 trace.prev = tracehead; tracehead = &trace;
32879 variable0 = param0;
32880 variable1 = NIT_NULL /*null*/;
32881 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32882 variable2 = variable3;
32883 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32884 variable3 = variable4;
32885 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
32886 variable4 = variable5;
32887 variable5 = variable3 /*nodearraylist1*/;
32888 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32889 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17027,6--38\n"); nit_exit(1);}
32890 variable6 = variable2 /*nodearraylist2*/;
32891 variable7 = TAG_Bool(( variable6 /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
32892 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17029,6--38\n"); nit_exit(1);}
32893 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
32894 if (UNTAG_Bool(variable7)) { /*if*/
32895 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
32896 if (UNTAG_Bool(variable7)) { /*if*/
32897 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
32898 } else { /*if*/
32899 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
32900 }
32901 }
32902 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*ppropdefnode2*/ == NIT_NULL /*null*/) || (( variable6 /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*ppropdefnode2*/, NIT_NULL /*null*/) /*PPropdef::==*/)))))));
32903 if (UNTAG_Bool(variable7)) { /*if*/
32904 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*ppropdefnode2*/) /*Array::add*/;
32905 }
32906 variable1 = variable4 /*listnode3*/ /*node_list=*/;
32907 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(107)) /*Parser::go_to*/;
32908 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
32909 tracehead = trace.prev;
32910 return;
32911 }
32912 void parser___ReduceAction552___init(val_t self, int* init_table) {
32913 struct trace_t trace = {NULL, "parser::ReduceAction552::init (src/parser//parser.nit:17043,1--4)"};
32914 trace.prev = tracehead; tracehead = &trace;
32915 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction552].i]) return;
32916 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction552].i] = 1;
32917 tracehead = trace.prev;
32918 return;
32919 }
32920 void parser___ReduceAction553___action(val_t self, val_t param0) {
32921 struct trace_t trace = {NULL, "parser::ReduceAction553::action (src/parser//parser.nit:17047,2--17058:35)"};
32922 val_t variable0;
32923 val_t variable1;
32924 val_t variable2;
32925 val_t variable3;
32926 val_t variable4;
32927 val_t variable5;
32928 trace.prev = tracehead; tracehead = &trace;
32929 variable0 = param0;
32930 variable1 = NIT_NULL /*null*/;
32931 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32932 variable2 = variable3;
32933 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
32934 variable3 = variable4;
32935 variable4 = variable2 /*nodearraylist1*/;
32936 variable5 = TAG_Bool(( variable4 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
32937 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17053,6--34\n"); nit_exit(1);}
32938 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pparamnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pparamnode1*/, NIT_NULL /*null*/) /*PParam::==*/)))))));
32939 if (UNTAG_Bool(variable5)) { /*if*/
32940 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pparamnode1*/) /*Array::add*/;
32941 }
32942 variable1 = variable3 /*listnode2*/ /*node_list=*/;
32943 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(108)) /*Parser::go_to*/;
32944 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
32945 tracehead = trace.prev;
32946 return;
32947 }
32948 void parser___ReduceAction553___init(val_t self, int* init_table) {
32949 struct trace_t trace = {NULL, "parser::ReduceAction553::init (src/parser//parser.nit:17060,1--4)"};
32950 trace.prev = tracehead; tracehead = &trace;
32951 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction553].i]) return;
32952 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction553].i] = 1;
32953 tracehead = trace.prev;
32954 return;
32955 }
32956 void parser___ReduceAction554___action(val_t self, val_t param0) {
32957 struct trace_t trace = {NULL, "parser::ReduceAction554::action (src/parser//parser.nit:17064,2--17085:35)"};
32958 val_t variable0;
32959 val_t variable1;
32960 val_t variable2;
32961 val_t variable3;
32962 val_t variable4;
32963 val_t variable5;
32964 val_t variable6;
32965 val_t variable7;
32966 trace.prev = tracehead; tracehead = &trace;
32967 variable0 = param0;
32968 variable1 = NIT_NULL /*null*/;
32969 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32970 variable2 = variable3;
32971 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
32972 variable3 = variable4;
32973 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
32974 variable4 = variable5;
32975 variable5 = variable3 /*nodearraylist1*/;
32976 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32977 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17071,6--38\n"); nit_exit(1);}
32978 variable6 = variable2 /*nodearraylist2*/;
32979 variable7 = TAG_Bool(( variable6 /*pparamnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pparamnode2*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
32980 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17073,6--34\n"); nit_exit(1);}
32981 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
32982 if (UNTAG_Bool(variable7)) { /*if*/
32983 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
32984 if (UNTAG_Bool(variable7)) { /*if*/
32985 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
32986 } else { /*if*/
32987 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
32988 }
32989 }
32990 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pparamnode2*/ == NIT_NULL /*null*/) || (( variable6 /*pparamnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pparamnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pparamnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pparamnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pparamnode2*/, NIT_NULL /*null*/) /*PParam::==*/)))))));
32991 if (UNTAG_Bool(variable7)) { /*if*/
32992 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*pparamnode2*/) /*Array::add*/;
32993 }
32994 variable1 = variable4 /*listnode3*/ /*node_list=*/;
32995 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(108)) /*Parser::go_to*/;
32996 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
32997 tracehead = trace.prev;
32998 return;
32999 }
33000 void parser___ReduceAction554___init(val_t self, int* init_table) {
33001 struct trace_t trace = {NULL, "parser::ReduceAction554::init (src/parser//parser.nit:17087,1--4)"};
33002 trace.prev = tracehead; tracehead = &trace;
33003 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction554].i]) return;
33004 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction554].i] = 1;
33005 tracehead = trace.prev;
33006 return;
33007 }
33008 void parser___ReduceAction555___action(val_t self, val_t param0) {
33009 struct trace_t trace = {NULL, "parser::ReduceAction555::action (src/parser//parser.nit:17091,2--17102:35)"};
33010 val_t variable0;
33011 val_t variable1;
33012 val_t variable2;
33013 val_t variable3;
33014 val_t variable4;
33015 val_t variable5;
33016 trace.prev = tracehead; tracehead = &trace;
33017 variable0 = param0;
33018 variable1 = NIT_NULL /*null*/;
33019 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33020 variable2 = variable3;
33021 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
33022 variable3 = variable4;
33023 variable4 = variable2 /*nodearraylist1*/;
33024 variable5 = TAG_Bool(( variable4 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable4 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
33025 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17097,6--32\n"); nit_exit(1);}
33026 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ptypenode1*/ == NIT_NULL /*null*/) || (( variable4 /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ptypenode1*/, NIT_NULL /*null*/) /*PType::==*/)))))));
33027 if (UNTAG_Bool(variable5)) { /*if*/
33028 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*ptypenode1*/) /*Array::add*/;
33029 }
33030 variable1 = variable3 /*listnode2*/ /*node_list=*/;
33031 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(109)) /*Parser::go_to*/;
33032 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
33033 tracehead = trace.prev;
33034 return;
33035 }
33036 void parser___ReduceAction555___init(val_t self, int* init_table) {
33037 struct trace_t trace = {NULL, "parser::ReduceAction555::init (src/parser//parser.nit:17104,1--4)"};
33038 trace.prev = tracehead; tracehead = &trace;
33039 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction555].i]) return;
33040 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction555].i] = 1;
33041 tracehead = trace.prev;
33042 return;
33043 }
33044 void parser___ReduceAction556___action(val_t self, val_t param0) {
33045 struct trace_t trace = {NULL, "parser::ReduceAction556::action (src/parser//parser.nit:17108,2--17129:35)"};
33046 val_t variable0;
33047 val_t variable1;
33048 val_t variable2;
33049 val_t variable3;
33050 val_t variable4;
33051 val_t variable5;
33052 val_t variable6;
33053 val_t variable7;
33054 trace.prev = tracehead; tracehead = &trace;
33055 variable0 = param0;
33056 variable1 = NIT_NULL /*null*/;
33057 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33058 variable2 = variable3;
33059 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33060 variable3 = variable4;
33061 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
33062 variable4 = variable5;
33063 variable5 = variable3 /*nodearraylist1*/;
33064 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33065 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17115,6--38\n"); nit_exit(1);}
33066 variable6 = variable2 /*nodearraylist2*/;
33067 variable7 = TAG_Bool(( variable6 /*ptypenode2*/==NIT_NULL) || VAL_ISA( variable6 /*ptypenode2*/, COLOR_PType, ID_PType)) /*cast PType*/;
33068 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17117,6--32\n"); nit_exit(1);}
33069 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
33070 if (UNTAG_Bool(variable7)) { /*if*/
33071 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
33072 if (UNTAG_Bool(variable7)) { /*if*/
33073 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
33074 } else { /*if*/
33075 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
33076 }
33077 }
33078 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*ptypenode2*/ == NIT_NULL /*null*/) || (( variable6 /*ptypenode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*ptypenode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*ptypenode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*ptypenode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*ptypenode2*/, NIT_NULL /*null*/) /*PType::==*/)))))));
33079 if (UNTAG_Bool(variable7)) { /*if*/
33080 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*ptypenode2*/) /*Array::add*/;
33081 }
33082 variable1 = variable4 /*listnode3*/ /*node_list=*/;
33083 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(109)) /*Parser::go_to*/;
33084 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
33085 tracehead = trace.prev;
33086 return;
33087 }
33088 void parser___ReduceAction556___init(val_t self, int* init_table) {
33089 struct trace_t trace = {NULL, "parser::ReduceAction556::init (src/parser//parser.nit:17131,1--4)"};
33090 trace.prev = tracehead; tracehead = &trace;
33091 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction556].i]) return;
33092 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction556].i] = 1;
33093 tracehead = trace.prev;
33094 return;
33095 }
33096 void parser___ReduceAction557___action(val_t self, val_t param0) {
33097 struct trace_t trace = {NULL, "parser::ReduceAction557::action (src/parser//parser.nit:17135,2--17146:35)"};
33098 val_t variable0;
33099 val_t variable1;
33100 val_t variable2;
33101 val_t variable3;
33102 val_t variable4;
33103 val_t variable5;
33104 trace.prev = tracehead; tracehead = &trace;
33105 variable0 = param0;
33106 variable1 = NIT_NULL /*null*/;
33107 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33108 variable2 = variable3;
33109 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
33110 variable3 = variable4;
33111 variable4 = variable2 /*nodearraylist1*/;
33112 variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33113 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17141,6--32\n"); nit_exit(1);}
33114 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
33115 if (UNTAG_Bool(variable5)) { /*if*/
33116 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pexprnode1*/) /*Array::add*/;
33117 }
33118 variable1 = variable3 /*listnode2*/ /*node_list=*/;
33119 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(110)) /*Parser::go_to*/;
33120 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
33121 tracehead = trace.prev;
33122 return;
33123 }
33124 void parser___ReduceAction557___init(val_t self, int* init_table) {
33125 struct trace_t trace = {NULL, "parser::ReduceAction557::init (src/parser//parser.nit:17148,1--4)"};
33126 trace.prev = tracehead; tracehead = &trace;
33127 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction557].i]) return;
33128 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction557].i] = 1;
33129 tracehead = trace.prev;
33130 return;
33131 }
33132 void parser___ReduceAction558___action(val_t self, val_t param0) {
33133 struct trace_t trace = {NULL, "parser::ReduceAction558::action (src/parser//parser.nit:17152,2--17173:35)"};
33134 val_t variable0;
33135 val_t variable1;
33136 val_t variable2;
33137 val_t variable3;
33138 val_t variable4;
33139 val_t variable5;
33140 val_t variable6;
33141 val_t variable7;
33142 trace.prev = tracehead; tracehead = &trace;
33143 variable0 = param0;
33144 variable1 = NIT_NULL /*null*/;
33145 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33146 variable2 = variable3;
33147 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33148 variable3 = variable4;
33149 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
33150 variable4 = variable5;
33151 variable5 = variable3 /*nodearraylist1*/;
33152 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33153 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17159,6--38\n"); nit_exit(1);}
33154 variable6 = variable2 /*nodearraylist2*/;
33155 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33156 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17161,6--32\n"); nit_exit(1);}
33157 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
33158 if (UNTAG_Bool(variable7)) { /*if*/
33159 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
33160 if (UNTAG_Bool(variable7)) { /*if*/
33161 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
33162 } else { /*if*/
33163 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
33164 }
33165 }
33166 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable6 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
33167 if (UNTAG_Bool(variable7)) { /*if*/
33168 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*pexprnode2*/) /*Array::add*/;
33169 }
33170 variable1 = variable4 /*listnode3*/ /*node_list=*/;
33171 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(110)) /*Parser::go_to*/;
33172 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
33173 tracehead = trace.prev;
33174 return;
33175 }
33176 void parser___ReduceAction558___init(val_t self, int* init_table) {
33177 struct trace_t trace = {NULL, "parser::ReduceAction558::init (src/parser//parser.nit:17175,1--4)"};
33178 trace.prev = tracehead; tracehead = &trace;
33179 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction558].i]) return;
33180 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction558].i] = 1;
33181 tracehead = trace.prev;
33182 return;
33183 }
33184 void parser___ReduceAction559___action(val_t self, val_t param0) {
33185 struct trace_t trace = {NULL, "parser::ReduceAction559::action (src/parser//parser.nit:17179,2--17194:35)"};
33186 val_t variable0;
33187 val_t variable1;
33188 val_t variable2;
33189 val_t variable3;
33190 val_t variable4;
33191 val_t variable5;
33192 trace.prev = tracehead; tracehead = &trace;
33193 variable0 = param0;
33194 variable1 = NIT_NULL /*null*/;
33195 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33196 variable2 = variable3;
33197 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
33198 variable3 = variable4;
33199 variable4 = variable2 /*nodearraylist1*/;
33200 variable5 = TAG_Bool(( variable4 /*listnode1*/==NIT_NULL) || VAL_ISA( variable4 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33201 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17185,6--38\n"); nit_exit(1);}
33202 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode1*/ == NIT_NULL /*null*/) || (( variable4 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
33203 if (UNTAG_Bool(variable5)) { /*if*/
33204 variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode2*/) /*Array::is_empty*/;
33205 if (UNTAG_Bool(variable5)) { /*if*/
33206 variable3 = variable4 /*listnode1*/ /*listnode2=*/;
33207 } else { /*if*/
33208 ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode2*/, variable4 /*listnode1*/) /*Array::append*/;
33209 }
33210 }
33211 variable1 = variable3 /*listnode2*/ /*node_list=*/;
33212 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(111)) /*Parser::go_to*/;
33213 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
33214 tracehead = trace.prev;
33215 return;
33216 }
33217 void parser___ReduceAction559___init(val_t self, int* init_table) {
33218 struct trace_t trace = {NULL, "parser::ReduceAction559::init (src/parser//parser.nit:17196,1--4)"};
33219 trace.prev = tracehead; tracehead = &trace;
33220 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction559].i]) return;
33221 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction559].i] = 1;
33222 tracehead = trace.prev;
33223 return;
33224 }
33225 void parser___ReduceAction560___action(val_t self, val_t param0) {
33226 struct trace_t trace = {NULL, "parser::ReduceAction560::action (src/parser//parser.nit:17200,2--17225:35)"};
33227 val_t variable0;
33228 val_t variable1;
33229 val_t variable2;
33230 val_t variable3;
33231 val_t variable4;
33232 val_t variable5;
33233 val_t variable6;
33234 val_t variable7;
33235 trace.prev = tracehead; tracehead = &trace;
33236 variable0 = param0;
33237 variable1 = NIT_NULL /*null*/;
33238 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33239 variable2 = variable3;
33240 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33241 variable3 = variable4;
33242 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
33243 variable4 = variable5;
33244 variable5 = variable3 /*nodearraylist1*/;
33245 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33246 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17207,6--38\n"); nit_exit(1);}
33247 variable6 = variable2 /*nodearraylist2*/;
33248 variable7 = TAG_Bool(( variable6 /*listnode2*/==NIT_NULL) || VAL_ISA( variable6 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33249 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17209,6--38\n"); nit_exit(1);}
33250 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
33251 if (UNTAG_Bool(variable7)) { /*if*/
33252 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
33253 if (UNTAG_Bool(variable7)) { /*if*/
33254 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
33255 } else { /*if*/
33256 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
33257 }
33258 }
33259 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode2*/ == NIT_NULL /*null*/) || (( variable6 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/)))));
33260 if (UNTAG_Bool(variable7)) { /*if*/
33261 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
33262 if (UNTAG_Bool(variable7)) { /*if*/
33263 variable4 = variable6 /*listnode2*/ /*listnode3=*/;
33264 } else { /*if*/
33265 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable6 /*listnode2*/) /*Array::append*/;
33266 }
33267 }
33268 variable1 = variable4 /*listnode3*/ /*node_list=*/;
33269 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(111)) /*Parser::go_to*/;
33270 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
33271 tracehead = trace.prev;
33272 return;
33273 }
33274 void parser___ReduceAction560___init(val_t self, int* init_table) {
33275 struct trace_t trace = {NULL, "parser::ReduceAction560::init (src/parser//parser.nit:17227,1--4)"};
33276 trace.prev = tracehead; tracehead = &trace;
33277 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction560].i]) return;
33278 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction560].i] = 1;
33279 tracehead = trace.prev;
33280 return;
33281 }
33282 void parser___ReduceAction561___action(val_t self, val_t param0) {
33283 struct trace_t trace = {NULL, "parser::ReduceAction561::action (src/parser//parser.nit:17231,2--17242:35)"};
33284 val_t variable0;
33285 val_t variable1;
33286 val_t variable2;
33287 val_t variable3;
33288 val_t variable4;
33289 val_t variable5;
33290 trace.prev = tracehead; tracehead = &trace;
33291 variable0 = param0;
33292 variable1 = NIT_NULL /*null*/;
33293 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33294 variable2 = variable3;
33295 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
33296 variable3 = variable4;
33297 variable4 = variable2 /*nodearraylist1*/;
33298 variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33299 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17237,6--32\n"); nit_exit(1);}
33300 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
33301 if (UNTAG_Bool(variable5)) { /*if*/
33302 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pexprnode1*/) /*Array::add*/;
33303 }
33304 variable1 = variable3 /*listnode2*/ /*node_list=*/;
33305 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(112)) /*Parser::go_to*/;
33306 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
33307 tracehead = trace.prev;
33308 return;
33309 }
33310 void parser___ReduceAction561___init(val_t self, int* init_table) {
33311 struct trace_t trace = {NULL, "parser::ReduceAction561::init (src/parser//parser.nit:17244,1--4)"};
33312 trace.prev = tracehead; tracehead = &trace;
33313 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction561].i]) return;
33314 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction561].i] = 1;
33315 tracehead = trace.prev;
33316 return;
33317 }
33318 void parser___ReduceAction562___action(val_t self, val_t param0) {
33319 struct trace_t trace = {NULL, "parser::ReduceAction562::action (src/parser//parser.nit:17248,2--17269:35)"};
33320 val_t variable0;
33321 val_t variable1;
33322 val_t variable2;
33323 val_t variable3;
33324 val_t variable4;
33325 val_t variable5;
33326 val_t variable6;
33327 val_t variable7;
33328 trace.prev = tracehead; tracehead = &trace;
33329 variable0 = param0;
33330 variable1 = NIT_NULL /*null*/;
33331 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33332 variable2 = variable3;
33333 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33334 variable3 = variable4;
33335 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
33336 variable4 = variable5;
33337 variable5 = variable3 /*nodearraylist1*/;
33338 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33339 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17255,6--38\n"); nit_exit(1);}
33340 variable6 = variable2 /*nodearraylist2*/;
33341 variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
33342 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17257,6--32\n"); nit_exit(1);}
33343 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
33344 if (UNTAG_Bool(variable7)) { /*if*/
33345 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
33346 if (UNTAG_Bool(variable7)) { /*if*/
33347 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
33348 } else { /*if*/
33349 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
33350 }
33351 }
33352 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable6 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
33353 if (UNTAG_Bool(variable7)) { /*if*/
33354 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*pexprnode2*/) /*Array::add*/;
33355 }
33356 variable1 = variable4 /*listnode3*/ /*node_list=*/;
33357 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(112)) /*Parser::go_to*/;
33358 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
33359 tracehead = trace.prev;
33360 return;
33361 }
33362 void parser___ReduceAction562___init(val_t self, int* init_table) {
33363 struct trace_t trace = {NULL, "parser::ReduceAction562::init (src/parser//parser.nit:17271,1--4)"};
33364 trace.prev = tracehead; tracehead = &trace;
33365 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction562].i]) return;
33366 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction562].i] = 1;
33367 tracehead = trace.prev;
33368 return;
33369 }
33370 void parser___ReduceAction563___action(val_t self, val_t param0) {
33371 struct trace_t trace = {NULL, "parser::ReduceAction563::action (src/parser//parser.nit:17275,2--17286:35)"};
33372 val_t variable0;
33373 val_t variable1;
33374 val_t variable2;
33375 val_t variable3;
33376 val_t variable4;
33377 val_t variable5;
33378 trace.prev = tracehead; tracehead = &trace;
33379 variable0 = param0;
33380 variable1 = NIT_NULL /*null*/;
33381 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33382 variable2 = variable3;
33383 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
33384 variable3 = variable4;
33385 variable4 = variable2 /*nodearraylist1*/;
33386 variable5 = TAG_Bool(( variable4 /*tidnode1*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
33387 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17281,6--28\n"); nit_exit(1);}
33388 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*tidnode1*/ == NIT_NULL /*null*/) || (( variable4 /*tidnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*tidnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*tidnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*tidnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*tidnode1*/, NIT_NULL /*null*/) /*TId::==*/)))))));
33389 if (UNTAG_Bool(variable5)) { /*if*/
33390 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*tidnode1*/) /*Array::add*/;
33391 }
33392 variable1 = variable3 /*listnode2*/ /*node_list=*/;
33393 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(113)) /*Parser::go_to*/;
33394 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
33395 tracehead = trace.prev;
33396 return;
33397 }
33398 void parser___ReduceAction563___init(val_t self, int* init_table) {
33399 struct trace_t trace = {NULL, "parser::ReduceAction563::init (src/parser//parser.nit:17288,1--4)"};
33400 trace.prev = tracehead; tracehead = &trace;
33401 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction563].i]) return;
33402 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction563].i] = 1;
33403 tracehead = trace.prev;
33404 return;
33405 }
33406 void parser___ReduceAction564___action(val_t self, val_t param0) {
33407 struct trace_t trace = {NULL, "parser::ReduceAction564::action (src/parser//parser.nit:17292,2--17313:35)"};
33408 val_t variable0;
33409 val_t variable1;
33410 val_t variable2;
33411 val_t variable3;
33412 val_t variable4;
33413 val_t variable5;
33414 val_t variable6;
33415 val_t variable7;
33416 trace.prev = tracehead; tracehead = &trace;
33417 variable0 = param0;
33418 variable1 = NIT_NULL /*null*/;
33419 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33420 variable2 = variable3;
33421 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33422 variable3 = variable4;
33423 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
33424 variable4 = variable5;
33425 variable5 = variable3 /*nodearraylist1*/;
33426 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33427 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17299,6--38\n"); nit_exit(1);}
33428 variable6 = variable2 /*nodearraylist2*/;
33429 variable7 = TAG_Bool(( variable6 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
33430 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17301,6--28\n"); nit_exit(1);}
33431 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
33432 if (UNTAG_Bool(variable7)) { /*if*/
33433 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
33434 if (UNTAG_Bool(variable7)) { /*if*/
33435 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
33436 } else { /*if*/
33437 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
33438 }
33439 }
33440 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*tidnode2*/ == NIT_NULL /*null*/) || (( variable6 /*tidnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*tidnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*tidnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*tidnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*tidnode2*/, NIT_NULL /*null*/) /*TId::==*/)))))));
33441 if (UNTAG_Bool(variable7)) { /*if*/
33442 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*tidnode2*/) /*Array::add*/;
33443 }
33444 variable1 = variable4 /*listnode3*/ /*node_list=*/;
33445 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(113)) /*Parser::go_to*/;
33446 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
33447 tracehead = trace.prev;
33448 return;
33449 }
33450 void parser___ReduceAction564___init(val_t self, int* init_table) {
33451 struct trace_t trace = {NULL, "parser::ReduceAction564::init (src/parser//parser.nit:17315,1--4)"};
33452 trace.prev = tracehead; tracehead = &trace;
33453 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction564].i]) return;
33454 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction564].i] = 1;
33455 tracehead = trace.prev;
33456 return;
33457 }
33458 void parser___ReduceAction565___action(val_t self, val_t param0) {
33459 struct trace_t trace = {NULL, "parser::ReduceAction565::action (src/parser//parser.nit:17319,2--17330:35)"};
33460 val_t variable0;
33461 val_t variable1;
33462 val_t variable2;
33463 val_t variable3;
33464 val_t variable4;
33465 val_t variable5;
33466 trace.prev = tracehead; tracehead = &trace;
33467 variable0 = param0;
33468 variable1 = NIT_NULL /*null*/;
33469 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33470 variable2 = variable3;
33471 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
33472 variable3 = variable4;
33473 variable4 = variable2 /*nodearraylist1*/;
33474 variable5 = TAG_Bool(( variable4 /*tcommentnode1*/==NIT_NULL) || VAL_ISA( variable4 /*tcommentnode1*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
33475 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17325,6--38\n"); nit_exit(1);}
33476 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*tcommentnode1*/ == NIT_NULL /*null*/) || (( variable4 /*tcommentnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*tcommentnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*tcommentnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*tcommentnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*tcommentnode1*/, NIT_NULL /*null*/) /*TComment::==*/)))))));
33477 if (UNTAG_Bool(variable5)) { /*if*/
33478 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*tcommentnode1*/) /*Array::add*/;
33479 }
33480 variable1 = variable3 /*listnode2*/ /*node_list=*/;
33481 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(114)) /*Parser::go_to*/;
33482 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
33483 tracehead = trace.prev;
33484 return;
33485 }
33486 void parser___ReduceAction565___init(val_t self, int* init_table) {
33487 struct trace_t trace = {NULL, "parser::ReduceAction565::init (src/parser//parser.nit:17332,1--4)"};
33488 trace.prev = tracehead; tracehead = &trace;
33489 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction565].i]) return;
33490 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction565].i] = 1;
33491 tracehead = trace.prev;
33492 return;
33493 }
33494 void parser___ReduceAction566___action(val_t self, val_t param0) {
33495 struct trace_t trace = {NULL, "parser::ReduceAction566::action (src/parser//parser.nit:17336,2--17357:35)"};
33496 val_t variable0;
33497 val_t variable1;
33498 val_t variable2;
33499 val_t variable3;
33500 val_t variable4;
33501 val_t variable5;
33502 val_t variable6;
33503 val_t variable7;
33504 trace.prev = tracehead; tracehead = &trace;
33505 variable0 = param0;
33506 variable1 = NIT_NULL /*null*/;
33507 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33508 variable2 = variable3;
33509 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33510 variable3 = variable4;
33511 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
33512 variable4 = variable5;
33513 variable5 = variable3 /*nodearraylist1*/;
33514 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33515 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17343,6--38\n"); nit_exit(1);}
33516 variable6 = variable2 /*nodearraylist2*/;
33517 variable7 = TAG_Bool(( variable6 /*tcommentnode2*/==NIT_NULL) || VAL_ISA( variable6 /*tcommentnode2*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
33518 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17345,6--38\n"); nit_exit(1);}
33519 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
33520 if (UNTAG_Bool(variable7)) { /*if*/
33521 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
33522 if (UNTAG_Bool(variable7)) { /*if*/
33523 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
33524 } else { /*if*/
33525 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
33526 }
33527 }
33528 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*tcommentnode2*/ == NIT_NULL /*null*/) || (( variable6 /*tcommentnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*tcommentnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*tcommentnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*tcommentnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*tcommentnode2*/, NIT_NULL /*null*/) /*TComment::==*/)))))));
33529 if (UNTAG_Bool(variable7)) { /*if*/
33530 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*tcommentnode2*/) /*Array::add*/;
33531 }
33532 variable1 = variable4 /*listnode3*/ /*node_list=*/;
33533 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(114)) /*Parser::go_to*/;
33534 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
33535 tracehead = trace.prev;
33536 return;
33537 }
33538 void parser___ReduceAction566___init(val_t self, int* init_table) {
33539 struct trace_t trace = {NULL, "parser::ReduceAction566::init (src/parser//parser.nit:17359,1--4)"};
33540 trace.prev = tracehead; tracehead = &trace;
33541 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction566].i]) return;
33542 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction566].i] = 1;
33543 tracehead = trace.prev;
33544 return;
33545 }
33546 void parser___ReduceAction567___action(val_t self, val_t param0) {
33547 struct trace_t trace = {NULL, "parser::ReduceAction567::action (src/parser//parser.nit:17363,2--17374:35)"};
33548 val_t variable0;
33549 val_t variable1;
33550 val_t variable2;
33551 val_t variable3;
33552 val_t variable4;
33553 val_t variable5;
33554 trace.prev = tracehead; tracehead = &trace;
33555 variable0 = param0;
33556 variable1 = NIT_NULL /*null*/;
33557 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33558 variable2 = variable3;
33559 variable4 = NEW_array___Array___init(); /*new Array[Object]*/
33560 variable3 = variable4;
33561 variable4 = variable2 /*nodearraylist1*/;
33562 variable5 = TAG_Bool(( variable4 /*teolnode1*/==NIT_NULL) || VAL_ISA( variable4 /*teolnode1*/, COLOR_TEol, ID_TEol)) /*cast TEol*/;
33563 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17369,6--30\n"); nit_exit(1);}
33564 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*teolnode1*/ == NIT_NULL /*null*/) || (( variable4 /*teolnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*teolnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*teolnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*teolnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*teolnode1*/, NIT_NULL /*null*/) /*TEol::==*/)))))));
33565 if (UNTAG_Bool(variable5)) { /*if*/
33566 ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*teolnode1*/) /*Array::add*/;
33567 }
33568 variable1 = variable3 /*listnode2*/ /*node_list=*/;
33569 variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(115)) /*Parser::go_to*/;
33570 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/;
33571 tracehead = trace.prev;
33572 return;
33573 }
33574 void parser___ReduceAction567___init(val_t self, int* init_table) {
33575 struct trace_t trace = {NULL, "parser::ReduceAction567::init (src/parser//parser.nit:17376,1--4)"};
33576 trace.prev = tracehead; tracehead = &trace;
33577 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction567].i]) return;
33578 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction567].i] = 1;
33579 tracehead = trace.prev;
33580 return;
33581 }
33582 void parser___ReduceAction568___action(val_t self, val_t param0) {
33583 struct trace_t trace = {NULL, "parser::ReduceAction568::action (src/parser//parser.nit:17380,2--17401:35)"};
33584 val_t variable0;
33585 val_t variable1;
33586 val_t variable2;
33587 val_t variable3;
33588 val_t variable4;
33589 val_t variable5;
33590 val_t variable6;
33591 val_t variable7;
33592 trace.prev = tracehead; tracehead = &trace;
33593 variable0 = param0;
33594 variable1 = NIT_NULL /*null*/;
33595 variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33596 variable2 = variable3;
33597 variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/;
33598 variable3 = variable4;
33599 variable5 = NEW_array___Array___init(); /*new Array[Object]*/
33600 variable4 = variable5;
33601 variable5 = variable3 /*nodearraylist1*/;
33602 variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33603 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17387,6--38\n"); nit_exit(1);}
33604 variable6 = variable2 /*nodearraylist2*/;
33605 variable7 = TAG_Bool(( variable6 /*teolnode2*/==NIT_NULL) || VAL_ISA( variable6 /*teolnode2*/, COLOR_TEol, ID_TEol)) /*cast TEol*/;
33606 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17389,6--30\n"); nit_exit(1);}
33607 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/)))));
33608 if (UNTAG_Bool(variable7)) { /*if*/
33609 variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/;
33610 if (UNTAG_Bool(variable7)) { /*if*/
33611 variable4 = variable5 /*listnode1*/ /*listnode3=*/;
33612 } else { /*if*/
33613 ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/;
33614 }
33615 }
33616 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*teolnode2*/ == NIT_NULL /*null*/) || (( variable6 /*teolnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*teolnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*teolnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*teolnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*teolnode2*/, NIT_NULL /*null*/) /*TEol::==*/)))))));
33617 if (UNTAG_Bool(variable7)) { /*if*/
33618 ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*teolnode2*/) /*Array::add*/;
33619 }
33620 variable1 = variable4 /*listnode3*/ /*node_list=*/;
33621 variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(115)) /*Parser::go_to*/;
33622 ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/;
33623 tracehead = trace.prev;
33624 return;
33625 }
33626 void parser___ReduceAction568___init(val_t self, int* init_table) {
33627 struct trace_t trace = {NULL, "parser::ReduceAction568::init (src/parser//parser.nit:17403,1--4)"};
33628 trace.prev = tracehead; tracehead = &trace;
33629 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction568].i]) return;
33630 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction568].i] = 1;
33631 tracehead = trace.prev;
33632 return;
33633 }